Der rettende Rajawali Wie ich noch einmal um OpenGL pur

Der rettende Rajawali
Wie ich noch einmal um OpenGL pur
herumgekommen bin
Manfred Borzechowski
[email protected]
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
1
Der rettende Rajawali
n
Der Referent
n
15 Jahre professionelle
Java-Seminare und -Projekte
n
Android Academy
Certified Developer
n
Nur wenig (antiquierte) Erfahrung
in 3D-Grafikprogrammierung
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
2
Der rettende Rajawali
n
Prequel: Entwicklung für Android 1 – Infrastruktur
n
Java
n
IDE (zB Eclipse mit ADT)
n
Das Android SDK
n
Ein Smartphone
ADT
Treiber
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
SDK
3
Der rettende Rajawali
n
Prequel: Entwicklung für Android 2 – Projektaufbau
n
Activities
n
Views
n
R
n
Manifest
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
4
Der rettende Rajawali
n
Die Herausforderung
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
5
Der rettende Rajawali
n
n
OpenGL
n
Offener, platformübergreifender
Standard seit 1992
n
Für High-End-Grafikkarten
n
Konkurrent zu MicroSofts Direct3D
OpenGL ES
n
Kleiner, angepasster Bruder
n
Für Embedded Systeme
n
Die Lösung für die
Herausforderung?
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
6
Der rettende Rajawali
n
(Java Specification Request) JSR 239
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
7
Der rettende Rajawali
n
Erste Kontaktaufnahme
n
„Pro OpenGL ES for Android“
n
Mike Smithwick, Mayank Verma
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
8
Der rettende Rajawali
n
Mein erstes OpenGL ES-Projekt
n
Activity
GLSurfaceView
Renderer
n
n
n
Zu zeichnendes
Haus
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
9
Der rettende Rajawali
n
Das Haus (2D)
Der rettende Rajawali
Außerhalb des
„normalen“ Heaps,
werden durch
finalize()
freigebeben.
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
10
Der rettende Rajawali
n
Quizfrage: Welcher Name
stammt nicht aus der
Literatur?
n
Antwort: c)
n
a) Gollum
n
Herr der Ringe
n
b) Zweiblum
n
Die Farben der Magie
n
c) Frustum
n
d) Hauteuchdrum
n
Asterix auf Korsika
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
11
Der rettende Rajawali
n
Was ist ein Frustum?
n
Die „Sehpyramide“
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
12
Der rettende Rajawali
n
Eine rotierende Pyramide (3D)
n
Aus 4 Dreiecken
Der rettende Rajawali
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
13
Der rettende Rajawali
n
Wie zeigt man eine Kugel?
n
Aus vielen Dreiecken
Der rettende Rajawali
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
14
Der rettende Rajawali
n
Suche nach „Android 3D Framework“ führt zu:
Der rettende Rajawali
n
„Rajawali is a 3D framework for Android built on top of the
OpenGL ES 2.0 API. Its main purpose is to make things easy
and to take away the hard work that’s involved in OpenGL
programming.“
n
https://github.com/MasDennis/Rajawali
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
15
Der rettende Rajawali
n
Downloads
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
16
Der rettende Rajawali
n
Mein erstes Rajawali-Projekt
n
Rajawali als Library-Projekt
einbinden
n
(Fragment)Activity
n
Renderer
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
17
Der rettende Rajawali
n
Licht, Material, Reflektion (1)
n
Diffuses Material
n
n
Schnelle
Interpolation
Umgebungslicht
n
Pro Objekt
n
Kein Ray-Tracing:
n
n
Keine Schatten
Kein Widerschein
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
18
Der rettende Rajawali
n
Texturen
n
Bilddateien werden „um Objekte“ gewickelt
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
19
Der rettende Rajawali
n
Modellierung
n
Blender
n
n
n
n
n
Open
Source
GameEngine
Animation
Videobearbeitung
Basic mug model low-q-mug.blend under CC BY-SA by rockrunner:
http://www.blender-models.com/author-profile/?user=rockrunner
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
20
Der rettende Rajawali
n
Import von Modellen
n
Exportierte
Text-Dateien für
n
n
Material
Geometrie
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
21
Der rettende Rajawali
n
Licht, Material, Reflektion (2)
n
Phong Material
n
n
n
Aufwendige
Interpolation
Umgebungslicht
Reflektionsanteil
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
22
Der rettende Rajawali
n
Cube Map
n
n
Skybox
n
n
Würfel mit Texturen
für alle 6 Seiten
Von Innen betrachtet
Fotografische Cube Maps
bei Emil Persson, aka Humus,
http://www.humus.name
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
23
Der rettende Rajawali
n
Cube Map Material
n
Reflektiert eine Cube Map
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
24
Der rettende Rajawali
n
n
Animationen
n
Drehung
n
Verschiebung
n
Größenänderung
n
Kreisbewegung
Der rettende Rajawali
Können Androids
Interpolatoren verwenden
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
25
Der rettende Rajawali
n
Was gibt es noch?
n
Bump Mapping
n
Nebel
n
Kollisionserkennung
n
Partikelsysteme
n
Sprites
n
Splines
n
Welleneffekte
n
...
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
26
Der rettende Rajawali
n
Kritik
n
Sauberer Code
-
aber kaum JavaDoc
n
Tutorials
-
aber nicht für alle Funktionen
n
Individualprojekt
-
aktuell keine Weiterentwicklung
n
Entwickler hat Blog
-
aber antwortet kaum noch
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
27
Der rettende Rajawali
n
Alternativen: Game Engines
Der rettende Rajawali
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
28
Der rettende Rajawali
n
n
Des Referenten neues Spielzeug
n
Smartphone mit stereoskopischer Darstellung ohne Brille
n
Aufnahme und Wiedergabe von 3D-Fotos und -Videos
Die Fragen
n
Programmierbar mit OpenGL ES?
n
Programmierbar mit Rajawali??
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
29
Der rettende Rajawali
n
Wie funktioniert es? - Darstellung
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
30
Der rettende Rajawali
n
Wie funktioniert es? - Bilder
n
Dateiformat jps
n
n
Wie jpg
Mit linkem und
rechten Teilbild
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
31
Der rettende Rajawali
n
Stereoskopie-Programmierung mit OpenGL ES (1)
n
Add-Ons für Android-SDK vom Hersteller
http://developer.lge.com/resource/mobile/RetrieveOverview.dev
http://www.htcdev.com/devcenter/opensense-sdk/stereoscopic-3d
n
Spezifisches
Target-System
n
Eintrag in Manifest-Datei
n
Wrappen der Surface View
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
32
Der rettende Rajawali
n
Stereoskopie-Programmierung mit OpenGL ES (2)
n
Rendering von 2 Ansichten mit Versatz
n
Für linkes und rechtes Teilbild
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
33
Der rettende Rajawali
n
Stereoskopie-Programmierung mit Rajawali
n
Vorbereitung wie mit OpenGL ES
n
Zusätzlich alternativer RajawaliRenderer
n
Aber: OpenGL ES 2.0
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
34
Fragen?
Das Thema 3D-Grafiken mit Open GL
wurde im eingangs erwähnten Seminar
nicht erwähnt.
Vielen Dank!
[email protected]
Der rettende Rajawali - Manfred Borzechowski
Copyright © 2013 MATHEMA Software GmbH
35