20

Einführung Szenengraphen Bestandteile Eingabe JOGL LWJGL Beispiele ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

Embed Size (px)

Citation preview

Page 1: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2
Page 2: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

Einführung Szenengraphen Bestandteile Eingabe JOGL LWJGL Beispiele ARDOR3D Games

04/23/12Ardor 3D – Holzwarth/Kau

2

Page 3: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

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

04/23/12Ardor 3D – Holzwarth/Kau

3

Page 4: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

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, …

04/23/12Ardor 3D – Holzwarth/Kau

4

Page 5: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

RootNode

HUD Collada Modell

Box (POI)

Lichtzustand

04/23/12Ardor 3D – Holzwarth/Kau

5

Page 6: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

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

04/23/12Ardor 3D – Holzwarth/Kau

6

Page 7: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

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

04/23/12Ardor 3D – Holzwarth/Kau

7

Page 8: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

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

04/23/12Ardor 3D – Holzwarth/Kau

8

Page 9: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

9

“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

Page 10: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

10

„Lightweight Java Game Library“ Unterstützung von Tastatur-, Maus- und

Controllereingaben – Alternative zu Microsoft DirectX

Hardwarebeschleunigung Einfachheit Portabilität Sicherheit Minimalismus

Page 11: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

11

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.

Page 12: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

12

Einfache Objektdarstellung via OpenGL Animationen (Rotate, Translate, Scale…)

Darstellung über beide Frameworks möglich (JOGL, LWJGL)

Page 13: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

13

Durch Canvas Darstellung eines Desktops in der Anwendung möglich

Page 14: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

14

Abfrage auf Kollision auf einen oder mehrere Objekte

Abfrage eines Knoten auf anderen Knoten

PickingUtil.hasCollision(node a,node b,…)

Page 15: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

15

Palette an implementierten Effekten Licht, Schatten, Feuer, Wasser, Rauch,

Partikel

Page 16: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

04/23/12Ardor 3D – Holzwarth/Kau

16

Importfunktion für gängige CAD Modelle Collada, OBJ, MD2

Ausführen der Modell Animation

Page 17: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

Darstellung ganzer Landschaftszüge Licht/Schattenverläufe, Wasser

04/23/12Ardor 3D – Holzwarth/Kau

17

Page 18: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

Anpassen des UI in den unterschiedlichsten Möglichkeiten Farben, Formen, Schriftarten, Rotation,

Canvas,…

04/23/12Ardor 3D – Holzwarth/Kau

18

Page 19: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2

Spaced: http://www.youtube.com/watch?v=vY2Fm2

0DFlU Caromble:

http://www.youtube.com/watch?v=Y2aZRMtrVUU

Android: Kart Racing 3D

04/23/12Ardor 3D – Holzwarth/Kau

19

Page 20: Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2