200 likes | 361 Views
Ardor 3D – Holzwarth/Kau. 04/23/12. Einführung Szenengraphen Bestandteile Eingabe JOGL LWJGL Beispiele ARDOR3D Games. 2. Ardor 3D – Holzwarth/Kau. 04/23/12. Zwei Entwickler: Joshua Slack und Rikard Herlitz
E N D
Ardor 3D – Holzwarth/Kau 04/23/12 • Einführung • Szenengraphen • Bestandteile • Eingabe • JOGL • LWJGL • Beispiele • ARDOR3D Games 2
Ardor 3D – Holzwarth/Kau 04/23/12 • Zwei Entwickler: Joshua Slack und Rikard Herlitz • In Entwicklung seit dem 23. September 2008, erste Version erschien am 2. Januar 2009 • Abzweigung von jMonkeyEngine • Streitpunkte: Namensgebung, Aktivität, Community Support • Szenengraphen basierte 3D Engine • Benutzt sowohl LWJGL und JOGL 3
Ardor 3D – Holzwarth/Kau 04/23/12 • Objektorientierte Datenstruktur • Knotenpunkte in einer Baumstruktur • Logische und räumliche Anpassung der dargestellten 2D/3D Szene • Knoten können verbunden werden • Ein Kindknoten erhält alle Transformationen, die an dem Elternknoten vorgenommen werden • Festlegung von Zuständen • Licht, Textur, Art der Renderung, … 4
Ardor 3D – Holzwarth/Kau 04/23/12 RootNode Lichtzustand HUD Collada Modell Box (POI) 5
Ardor 3D – Holzwarth/Kau 04/23/12 • Canvas: Fenster welches angezeigt wird, besitzt einen Canvas-Renderer • CanvasRenderer: Verantwortlich dafür, welche GL Schnittstelle benutzt wird • Besitzt eine standard Kamera, Steuerung und Szene • Szene: Beschreibt etwas, das gerendert werden soll • Einzelner Knoten oder auch komplexes System 6
Ardor 3D – Holzwarth/Kau 04/23/12 • Updater: Beschreibt Aktionen, die einmal pro Frame aufgerufen werden • Framehandler: Berechnet die Zeit seit dem letzten Frame und ruft dann die Update Funktionen für diese Zeit auf 7
Ardor 3D – Holzwarth/Kau 04/23/12 • PhysicalLayer: Überprüft permanent auf Maus- und Tastatureingaben für ein Canvas(Fenster) • Speichert diese in einer Zustandsliste ab • LogicalLayer: Ordnet den Zuständen die jeweiligen Trigger zu. Ein LogicalLayer kann mehrere PhysicalLayer beschreiben • Trigger: Beeinhalten die Logik, welche bei bestimmten Tastendrucken ausgeführt wird 8
Ardor 3D – Holzwarth/Kau 04/23/12 • “Java Binding for OpenGL“ • Nativer Zugriff über Wrapperklassen und JNI • Darstellung über AWT und Swing • Entwickelt 2003 durch SUN da keine Unterstützung von OpenGL durch Java • Weiterentwicklung durch Game Technology Group von Sun Microsystems. • plattformunabhängige OpenGL-Anwendungen 9
Ardor 3D – Holzwarth/Kau 04/23/12 • „Lightweight Java Game Library“ • Unterstützung von Tastatur-, Maus- und Controllereingaben – Alternative zu Microsoft DirectX • Hardwarebeschleunigung • Einfachheit • Portabilität • Sicherheit • Minimalismus 10
Ardor 3D – Holzwarth/Kau 04/23/12 • JOGL eher für den Desktopbereich, aber auch Spieleentwicklung möglich • JOGL Herstellersupport • LWJGL größere Community • LWJGL bessere Referenzen (Minecraft) • LWJGL nicht zulässigen Einbindung von AWT oder Swing Komponenten. 11
Ardor 3D – Holzwarth/Kau 04/23/12 • Einfache Objektdarstellung via OpenGL • Animationen (Rotate, Translate, Scale…) • Darstellung über beide Frameworks möglich (JOGL, LWJGL) 12
Ardor 3D – Holzwarth/Kau 04/23/12 • Durch Canvas Darstellung eines Desktops in der Anwendung möglich 13
Ardor 3D – Holzwarth/Kau 04/23/12 • Abfrage auf Kollision auf einen oder mehrere Objekte • Abfrage eines Knoten auf anderen Knoten • PickingUtil.hasCollision(node a,node b,…) 14
Ardor 3D – Holzwarth/Kau 04/23/12 • Palette an implementierten Effekten • Licht, Schatten, Feuer, Wasser, Rauch, Partikel 15
Ardor 3D – Holzwarth/Kau 04/23/12 • Importfunktion für gängige CAD Modelle • Collada, OBJ, MD2 • Ausführen der Modell Animation 16
Ardor 3D – Holzwarth/Kau 04/23/12 • Darstellung ganzer Landschaftszüge • Licht/Schattenverläufe, Wasser 17
Ardor 3D – Holzwarth/Kau 04/23/12 • Anpassen des UI in den unterschiedlichsten Möglichkeiten • Farben, Formen, Schriftarten, Rotation, Canvas,… 18
Ardor 3D – Holzwarth/Kau 04/23/12 • Spaced: • http://www.youtube.com/watch?v=vY2Fm20DFlU • Caromble: • http://www.youtube.com/watch?v=Y2aZRMtrVUU • Android: Kart Racing 3D 19