3D Modeling Software von ElectroGIG

GIG3DGO

von Peter Wächtler


Mit 3DGO ist ein preisgünstiger 3D Solid-Modeler für Linux erhältlich. Die Software bietet ein breites Spektrum an Hilfsmitteln, um auch professionellen Ansprüchen genügende Einzelbilder und Animationen zu erstellen.

In jüngster Zeit portieren immer mehr Anbieter von Unix-Software ihre Produkte auf Linux und bieten diese meist günstig an. So sind bereits einige "große" Anwendungen erhältlich, die den Nutzen von Linux weiter steigern, so daß Linux nicht mehr nur als Entwicklungssystem für angehende Informatiker gelten kann. Unter den Produkten für Computergrafik und -animation sind bereits MicroStation95 von Bentley , Open Inventor von TGS und eben auch GIG3DGO von ElectroGIG zu finden.

Leistungsmerkmale, Hardwareanforderungen und Versionen

GIG3DGO ist auf SGI, HP und Sun Workstations zu Hause. So unterstützt die SGI Version GL und reines X, während bei HP und Sun neben X auch die PEX Erweiterung zum Einsatz kommt. Bei der Linux Version muß man leider mit einer reinen X-Implementierung vorlieb nehmen.

Die Linux Version ist nur als ELF für Intel x86 erhältlich, benötigt Linux 2.x, einen Pentium oder PentiumPro Prozessor für akzeptable Geschwindigkeit, 32MB ( oder noch besser 64 MB )RAM, X11R6 (XFree86 3.2 oder höher) und eine Ethernetkarte, da die System-ID aus der MAC-Adresse der Netzwerkkarte ermittelt wird und nur die Kombination aus System-ID und Lizenzschlüssel die Software für einen bestimmten Zeitraum freischaltet. Eine Hardwarebeschleunigung wird nicht geboten, damit entfällt eine schnelle Preview, die das Abschätzen der Volumenmodelle doch sehr erschwert. Hier ist zu hoffen, daß zumindest eine Mesa-Version erhältlich sein wird, die die OpenGL Aufrufe softwaremäßig in X11-Aufrufe umsetzt (sehr zu Lasten der Performance). Weiterhin läuft die Software nur in 8-Bit Pseudocolor oder Truecolor-Visuals (keine 16-Bit HiColor) und es sollten wenigstens 800x600 Punkte in dieser Farbtiefe vorhanden sein. Die Platte sollte noch über 200 MB frei haben.

GIG3DGO ist in einzelnen Modulen erhältlich. Für Linux ist nur das komplette Paket "Advanced" verfügbar. Es beinhaltet im einzelnen:

Die Software ist über anonymous ftp oder für 12 US Dollar auf einer CD-ROM erhältlich. Eine Lizenz für Linux für die Dauer eines Jahres ohne Support und ohne gedruckte Dokumentation kostet 99 US Dollar, während die Workstation Preise inklusive Support bei 1000 US Dollar anfangen.

Die auf der CD-ROM mitgelieferte englische Online-Dokumentation liegt in HTML vor. Wer die Software per ftp holt kann sich die Dokumentation z.B. mit wget besorgen. Enthalten sind ein paar Tutorien , die in die Modellierungsphilosophie einführen und einen wirklich brauchbaren Einstieg ermöglichen, da der Solid-Modeler wirklich einer Gewöhnungsphase bedarf. Allerdings kam ich bei meinen ersten Gehversuchen mit Autodesks 3D Studio auch nicht um die Lektüre einschlägiger Literatur herum, um z.B. die Arbeitsweise des Lofters zu verstehen - also wie immer: RTFM ;-)

Benutzeroberfläche

Um einen optischen Eindruck der Software zu vermitteln zeigen die Abbildungen Screenshots zweier Modeler-Module. Das open rechts sichtbare Ergebnis in Abbildung 1 ist erst nach Auswahl von "render window " im render-Menue und (abhängig von CPU und Detailstufe) erst nach 30-200 Sekunden sichtbar. Wer kann sich schon anhand des Drahtgittermodells das obige Bild vorstellen ? Wie bereits erwähnt bieten die SGI, HP und Sun-Versionen eine Preview, deren Wert nicht unterschätzt werden darf.


Abb 1: Das Resultat erhält man nur auf Knopfdruck - und entsprechender Wartezeit


Abb.2 Der NURBS-Modeler - oder wie man einer Dame eine Beule verpaßt

Ungereimtheiten

Bereits kurz nach der (wirklich einfachen) Installation ergaben sich bei mir erste Probleme: segmentation fault. Die Fehlersuche ergab, daß die Software zum großen Teil statisch gelinkt ist - und prompt verursachten die unterschiedlichen Versionen der libm (Mathe-Bibliothek) die Abstürze. Abhilfe hat das Kopieren der libm.so.5.0.6 aus libc.5.3.12 und libXaw.so.6.0.0 nach ~gig/bin und Setzen von LD_LIBRARY_PATH geschaffen. Ich informierte den Hersteller darüber und über die Tatsache, daß sie gegen die GNU LGPL verstoßen, wenn sie Teile der GNU-libc statisch einbinden ohne eine Möglichkeit des Neubindens zu geben. Darüberhinaus stürzte mir der Raytracer einmal bei Verwendung von gläsernen Materialien ab, wobei die Software noch versucht sämtliche Daten zu speichern. Andererseits lief der Raytracer tagelang und füllte die Festplatte kontinuierlich mit TIFF-Bildern ...


Abb. 3: Partikel in Aktion

1. Fazit

Mit GIG3DGO ist ein sehr leistungsfähiges Programm zur Erstellung von realistischen Bildern und Animationen für Linux zu einem günstigen Preis erhältlich. Als Pluspunkte sind der NURBS-Modeler, das Partikelsystem und der Textureditor zu nennen. Ein wirkliches Handicap ist die unter Linux fehlende schattierte Vorschau, und als dem Arbeitsablauf abträglich die teilweise holprig wirkende Bedienung zu nennen (so wie dieser Satz ).

Wer glaubt, mal eben ohne Einarbeitung in wenigen Minuten ansehnliche Bilder zu erzeugen - wird enttäuscht. Wer sich aber mal mehrere Programme ähnlichen Leistungsumfanges angeschaut hat, kennt die Problematik: eine hohe Funktionalität und Flexibilität geht zu Lasten einer überschaubaren Bedienung. Das nötige Interesse und Lesen der englischen Dokumentation vorrausgesetzt, belohnt die Software mit ansprechenden Ergebnissen.

Kasten 1: Fit für die Cocktail-Party

Solid- versa Surface Modeling

Bei der Modellierung von 3D Objekten unterscheidet man zwischen Oberflächen- und Volumenkonstruktion (surface bzw. volume- oder solid-modeler). Der Vorteil von Volumenkonstruktion ist die korrekte Beschreibung der Modelle bei booleschen Operationen wie Schnittmenge, Addition oder Subtraktion zweier Objekte. Hier treten bei der Oberflächenkonstruktion doch immer wieder geometrische Fehler auf. Allerdings lassen sich nicht alle Objekte mittels der Kombination boolescher Verknüpfungen mehrerer Objekte (Primitive) leicht und komfortabel erstellen.

NURBS

Die Non Uniform Rational B-Splines (NURBS) stellen Freiformflächen dar. Mit ihrer Hilfe lassen sich auch komplizierteste Objekte - z.B. organische Formen - modellieren. Sie bestehen aus Stützpunkten und mathematischen Beschreibungen, die die Oberfäche des Körpers bestimmen. Damit lassen sich Häute über Skelette ziehen und Effekte wie sich beugende Gelenke und Muskeln nachbilden.

Partikelsysteme

Um Effekte wie Rauch, Regen, Feuer oder Explosionen nachzubilden, bedient man sich der Partikelsysteme. Hier wird anhand einer aüßeren Hülle die Ausbreitung eines solchen Gebildes bestimmt. Innerhalb dieser Hülle werden durch Regeln oder physikalische Gesetzmäßigkeiten Aufenthaltsort oder Aussehen von etlichen kleinen Primitiven festgelegt. Dabei hängt es allein von der Vielseitigkeit der Regeln ab, welche Art von Simulation man erhält. So sind auch Strömungsverhalten von Luftteilchen inklusive Kollisionserkennung/-vermeidung zu simulieren.

Rendering / Raytracing / Radiosity

Der Begriff Rendering bedeutet sinngemäß die Darstellung der Grafik bzw. der Animation. Raytracing beschreibt ein Verfahren um dies möglichst realistisch zu erreichen. Hierbei wird die Richtung des Lichtes umgekehrt und sogenannte "Sehstrahlen" auf ihrem Weg durch die Szene verfolgt, wobei sich dieser an transparenten oder spiegelnden Objekten ändert oder teilt. Wesentlichster Bestandteil des Radiosity-Verfahrens ist die schrittweise Berechnung der Energieverteilung ausgehend von den Lichtquellen der Szene. Begreift man Rendering nicht als Sammelbegriff, so meint man meist Phong- oder Gouraud-Shading. Diese Verfahren sind nicht so rechenintensiv wie Raytracing oder Radiosity und eignen sich vornehmlich für Echtzeitdarstellung oder schnelle Voransichten während der Modellierungsphase. Sie beruhen auf einem Beleuchtungsmodell und eine unterschiedlich aufwendige Art der Annäherung (Interpolation) der Farbwerte der einzelnen Flächen aus denen sich die Oberfläche eines Objektes zusammensetzt.

Anhang

von Carsten Wartman

3DGO ist ein Constructive Solid Geometry (CSG) Modeller, d.h. man verknüpft Grundkörper wie Würfel, Kegel, Kugel etc. mittels boolscher Operationen wie Addition, Subtraktion usw., die auch animierbar sind. Zusätzlich stehen weitere Möglichkeiten zu Konstruktion wie z.B. NURBS, Splines, ISO-Surfaces, Partikelsysteme und natürlich Text zur Verfügung. Weiterhin importiert der Modeller noch einige 3D-Grafikformate. Der Renderer ist ein echter Raytracer, der damit auch Glas und Metall realistisch visualisiert.

Unterstützte Fileformate :

Modeller

Nach dem Start präsentiert sich die in Abbildung 1 ersichtliche Oberfläche. Es kann zwischen drei und einem Ansichtsfenstern umgeschaltet werden. Es werden wahlweise orthogonale oder perspektivische Ansichten gezeigt. Geshadete Modelleransichten gibt es leider nicht, man muß mit einer Drahtgitteransicht auskommen, bei der man bei komplexen Szenen/Objekten leicht den Überblick verliert. Die Buttonmenüs passen sich jeweils der gewählten Funktion an, wobei hier eine Farbkodierung bei der Orientierung hilft.


Abbildung 1: Hauptuserinterface

Von dieser graphischen Oberfläche aus werden auch die anderen Module aufgerufen, wie z.B. der Animationsteil, der Material- und Textureditor oder der NURBS Editor. Die Objekte sind streng hierarchisch zu konstruieren, was anfangs etwas schwer von der Hand geht. Zur Konstruktion von Objekten und Szenen stehen Grundobjekte wie Zylinder, Quader, Kugel etc. zur Verfügung, die sich mittels boolscher Operationen miteinander verknüpfen lassen. Für organischere Modelle stehen Freiformflächen (NURBS) zur Verfügung. Um die Szene auszuleuchten gibt es Umgebungslicht, Punktlicht und Spotlicht.

Bei der Modellierung sollte man allerdings recht häufig speichern, da nur ein UNDO-Schritt zur Verfügung steht. Man kann ein Ansichtsfenster zur Probe rendern lassen, allerdings verschwindet diese Ansicht sofort, wenn man die Ansicht wieder anwählt bzw. ein Objekt selektiert.

Animation

Animationen werden mittels der in Abbildung 2 gezeigten Oberfläche realisiert. Es sind Keyframe-Animationen möglich, sowie prozedurale Animationen von Partikelsystemen. Die Aktionen erscheinen dabei in einer Spuransicht, die Überblick über Zeiten und Verläufe der Animationen geben.


Abbildung 2: Animationsfenster

Material

Im Materialeditor lassen sich interaktiv die Eigenschaften der Materialien einstellen, wobei eine kleine Testkugel jeweils die Auswirkungen der Veränderungen darstellt. Alternativ kann man auch das aktuelle Ansichtsfenster mit den geänderten Materialien darstellen lassen. Ebenfalls kein Problem ist es Bilder, Texturen oder Bump-Maps (Höhenmodifikatoren z.B. für die Poren einer Apfelsine) auf ein Material aufzubringen.


Abbildung 3: Materialeditor

Die Ergebnisse

Am Ende aller Bemühungen steht das Bild bzw. die Animation. Hier besticht der Renderer durch sehr realistische Ergebnisse. Reflektion und Refraktion sorgen für genaue Abbilder von Glas (Abb.: 4) und Metallobjekten. Tiefenschärfe, verschiedene Lichtarten, weiche Schatten und Bewegungsunschärfe sorgen für weiteren Realismus insbesondere bei Animationen.


Abbildung 3: Die Ergebnisse

2. Fazit

Obwohl die Ergebnisse bestechen, fragt sich ob der Aufwand für die Modellierung dies rechtfertigt. Wenn man an einem Projekt arbeitet ist für die Modellierung mindestens 90% der Zeit zu veranschlagen. Daher sollte einem der Modeller auch am meisten Arbeit abnehmen bzw. einen guten "Workflow" ermöglichen. Die Oberfläche von 3DGO erscheint mir zu diesem Zweck nicht mehr zeitgemäß. Heutzutage werden die Computeranimationen immer realistischer, weil vermehrt Künstler an ihnen arbeiten. Die Zeit als Programme nur von studierten Informatikern bedient werden konnten sollte vorbei sein.

Bezugsquellen und Verweise
[1] http://www.gig.nl Homepage von ELECTROGIG Technology BV, Wibautstraat 137c, 1097 DN Amsterdam, Netherlands, Fax: +31 20 4650990, Email: info@gig.nl
[2] http://www.videocomp.com Videocomp GmbH, In der Au 25, 61440 Oberursel, Germany, Tel: +49 61 71 59 070, Fax: +49 61 71 59 0744

[3] ISICAD RAND Technologies GmbH, Rindelbacher Straße 42, Postfach 1301 W-73473 Ellwangen (Jagst),Tel: +49 79 61/8 90-000, Fax: +49 79 61/8 90-177

[4] VARIMETRIX Deutschland GmbH, Jeschkenstraße 10, 82538 Geretsried, Tel: 08171-90001, Fax: 08171-90003

[5] http://www.berensp.com Berens/ Partner Pre-Press Concepts GmbH , Binterimstraße 12, D 40223 Düsseldorf,Tel: +49 211 905 1350, Fax: +49 211 331 297

[6] http://www.bentley.de : MicroStation95 Academic Suite for Linux

[7] http://www.tgs.com Open Inventor for Linux

Die Autoren

Peter Wächtler arbeitet als Software-Entwickler bei L.I.Consulting, Hildesheim. Er entwickelt dort kundenspezifische Lösungen im Client/Server-Umfeld unter Unix und MS-Windows/Delphi. Der "erste Kontakt" mit Linux fand vor 4 Jahren mit 0.99pl12 statt.

Carsten Wartmann studiert Bioverfahrenstechnik. Zu Linux kam er, weil er der Meinung ist, der Computer sollten einem die Arbeit erleichtern. Als 3D-Grafikfreak arbeitet er neben seinem Studium in einem Videostudio und sucht immer noch eine 3D-Linux Software die gängigen Applikationen unter anderen Betriebssystemen das Wasser reichen kann. Er ist auch der Schöpfer des 3D-Linux-Pinguins. Zu erreichen ist er unter carstenw@mero.in-berlin.de.

Copyright © 1997 Linux-Magazin Verlag