Java 3D 1.3 Für Einsteiger Und Fortgeschrittene Inclusive Erster Ausblicke Auf Java 3D 1.3.2
Total Page:16
File Type:pdf, Size:1020Kb
Michael Pfeiffer Java 3D 1.3 für Einsteiger und Fortgeschrittene inclusive erster Ausblicke auf Java 3D 1.3.2 Version 1.1 Dieses Dokument ist unter den Bedingungen der Creative Commons, Namensnennung-Nicht-kommerziell- Weitergabe unter gleichen Bedingungen 3.0 Deutschland (CC BY-NC-SA 3.0) lizensiert. Es darf somit von jedem frei benutzt werden, so lange damit kein Profit erzielt oder in sonstiger Weise Gegenleistungen dafür verlangt werden. Veränderungen am Dokument sind zulässig. In diesem Fall würde ich mich über Feedback freuen. Alle Informationen in diesem Dokument werden so angeboten, wie sie sind. Es werden keinerlei Garantien oder Gewährleistungen für deren Richtigkeit und Tauglichkeit übernommen. Eine Benutzung erfolgt also in jedem Fall vollständig auf eigene Gefahr. Die zugehörigen Beispielsourcen sind freie Software und unterliegen den Bedingungen der GNU General Public License so wie sie von der Free Software Foundation veröffentlicht wurde. Das bezieht sich auf Version 2 dieser Lizenz oder optional auf jede weitere, spätere Version. Die vorliegende Version ist hiermit zusammen mit den zugehörigen Sourcen zum Review freigegeben. Kommentare, Hinweise, Verbesserungsvorschläge, Bugreports etc. sind erwünscht und möglichst unter Angabe der betreffenden Zeilennummer an virtual [email protected] zu senden. Auch sollten die Rechtschreibfehler jetzt so selten sein, dass es sich lohnt, auf die noch Verbliebenen hinzuweisen – bitte wieder unter Angabe der Zeilennummer. 1 Inhaltsverzeichnis 1 Vorwort................................................................................................................................6 2 Einführung...........................................................................................................................8 2.1 Die Entwicklungsumgebung........................................................................................8 2.1.1 Besonderheiten der Windows-Version................................................................8 2.1.2 Installation und Konfiguration der Umgebung.....................................................9 2.1.2.1 Installation des Java 3D SDK unter Linux....................................................9 2.1.2.2 Installation des Java 3D SDK unter Windows............................................10 2.1.2.3 Die Konfiguration des Borland JBuilder......................................................10 2.1.2.4 Die Konfiguration von Eclipse.....................................................................11 2.1.3 Java-3D-Applikationen und Java WebStart.......................................................12 3 Der Einstieg......................................................................................................................13 3.1 Hallo Universum........................................................................................................13 3.2 Das erste 3D-Objekt..................................................................................................15 3.3 SceneGraph und Transformation..............................................................................17 3.3.1 BranchGroup und TransformGroup...................................................................19 3.3.1.1 BranchGroup...............................................................................................19 3.3.1.2 TransformGroup und Transform3D............................................................20 3.3.1.2.1 TransformGroup..................................................................................20 3.3.1.2.2 Transform3D........................................................................................21 3.3.1.3 Funktioniert es?..........................................................................................22 3.4 Daten-Sharing............................................................................................................22 3.4.1 Link.....................................................................................................................24 3.4.2 SharedGroup......................................................................................................25 4 Objekteigenschaften.........................................................................................................27 4.1 Farben.......................................................................................................................27 4.1.1 AmbientLight und DirectionalLight.....................................................................28 4.1.1.1 AmbientLight...............................................................................................29 4.1.1.2 DirectionalLight...........................................................................................29 4.1.2 Appearance........................................................................................................29 4.1.3 Material...............................................................................................................30 4.2 Texturen.....................................................................................................................33 4.2.1 TextureLoader....................................................................................................34 4.2.2 TexCoordGeneration..........................................................................................36 4.2.3 TextureAttributes................................................................................................39 4.2.4 Texture...............................................................................................................41 4.3 Durchsichtiges...........................................................................................................42 4.3.1 PolygonAttributes...............................................................................................44 4.3.2 Transparency.....................................................................................................47 4.3.2.1 Transparenz und Z-Order...........................................................................49 4.3.2.2 Die OrderedGroup......................................................................................50 5 Licht nach Maß.................................................................................................................53 5.1 BoundingSphere........................................................................................................55 5.2 BoundingBox.............................................................................................................58 5.3 BoundingPolytope.....................................................................................................59 5.4 PointLight...................................................................................................................60 5.5 SpotLight....................................................................................................................62 5.6 Die Basisklasse Light................................................................................................64 6 Bewegungen.....................................................................................................................68 2 6.1 Capability...................................................................................................................69 6.1.1 Capability Bits der TransformGroup..................................................................71 6.2 Der elegante Weg.....................................................................................................73 6.2.1 Alpha..................................................................................................................76 6.2.2 Interpolator.........................................................................................................80 6.2.2.1 RotationInterpolator....................................................................................81 6.2.2.2 Andere Interpolatoren.................................................................................83 7 Beobachtungen.................................................................................................................87 7.1 Die ViewPlatform.......................................................................................................88 7.2 Navigation..................................................................................................................89 7.3 Behavior.....................................................................................................................90 7.3.1 WakeupOnAWTEvent........................................................................................92 7.3.2 Eine Übersicht über die WakeupCriterions.......................................................93 7.3.2.1 WakeupOnActivation..................................................................................93 7.3.2.2 WakeupOnBehaviorPost............................................................................94 7.3.2.3 WakeupOnCollisionEntry, WakeupOnCollisionExit und WakeupOnCollisionMovement...............................................................................94 7.3.2.4 WakeupOnElapsedFrames.........................................................................95 7.3.2.5 WakeupOnElapsedTime.............................................................................96 7.3.3 Kombinieren von WakeupCriterions..................................................................96 7.3.3.1 WakeupAnd................................................................................................97