erfahrungen mit microsoft directx 8 w. krug, april 2002
TRANSCRIPT
![Page 1: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/1.jpg)
Erfahrungen mit Microsoft DirectX 8
W. Krug, April 2002
![Page 2: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/2.jpg)
DirectX - Komponenten
Architektur
Komponenten
Interfaces trennen Komponenten
![Page 3: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/3.jpg)
Module
DirectX - Direct 3D
Transformationen
Das Herzstück: Die Rendering Engine
![Page 4: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/4.jpg)
DirectX - Programmstruktur
Ordnung ist das Halbe Programmiererleben ...
1. Initialisierung2. Hauptschleife
• Eingabegeräte abfragen• Verarbeitung der Eingaben• Sichtbare 3D-Objekte auswählen • Sichtbare3D-Objekte in der 3D-Welt positionieren, drehen• Bewegung des Spielers in der 3D-Welt umsetzen• 3D-Welt in 2D-Bildschirmkoordinaten projizieren• Rendern des Frames• Warteschleife / Framebremse
3. Beenden, aufräumen
![Page 5: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/5.jpg)
Die Welt in DirectX (oder OpenGL)
... ist Dreieckig
![Page 6: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/6.jpg)
Ecken - Formate
Ecken definieren Flächeneigenschaften
![Page 7: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/7.jpg)
Point Light
Directional Light
Licht
SpotLight
Global Illumination = Ambient Light + Diffuse Light + Specular Light + Emissive Light
Licht bringt Spannung, tolle Effekte, kosten jedoch enorm Rechenzeit!
![Page 8: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/8.jpg)
Flat shading
Gouraud Shading
Licht und Schatten
Schattierungen bringen Tiefe!
![Page 9: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/9.jpg)
Beispiel 1: LichtPoint Light
Directional Light
Spot Light
![Page 10: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/10.jpg)
Aus Dreiecken entstehen 3D-Objekte
Modelle mit wenigen Ecken und weichen Rundungen gesucht!
![Page 11: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/11.jpg)
Texturen
Mit Texturen mogeln, wann immer möglich!
![Page 12: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/12.jpg)
Texturen kacheln
Gekachelte Texturen simulieren endlose Bilder!
![Page 13: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/13.jpg)
LightMap, BumpMap
Texturen Kaskadieren
Texture Blending Cascade
Textur
Hardwareunterstützung für Textur-Mogeleien!
![Page 14: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/14.jpg)
Color = <Rot, Grün, Blau, Alpha>Alpha {0x00 .. 0xFF}Alpha = 0x00: Volle FarbeAlpha = 0xFF: Transparent
für Wolken, Rauch, Explosionen ...
Texturen transparent
Jetzt wird professionell gemogelt!
![Page 15: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/15.jpg)
Nebel
D3DFOG_LINEAR
D3DFOG_EXP
D3DFOG_EXP2
Schlechtes Mogeln mit Nebel überdecken!
![Page 16: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/16.jpg)
typedef struct _D3DMATERIAL8 { D3DCOLORVALUE Diffuse; D3DCOLORVALUE Ambient; D3DCOLORVALUE Specular; D3DCOLORVALUE Emissive; float Power;} D3DMATERIAL8;
Material
Der schönste Glanz, leuchtende Augen!
![Page 17: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/17.jpg)
Beispiel 2: Drahtgittermodell
Texturen
Bewegung
Nebel
Licht
Rechenleistung
Schattierung
288 Ecken, 486 Polygone 240 sichtbar
![Page 18: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/18.jpg)
4. Projektion auf den Bildschirm2D-Projektion der Kamerakoordinaten
1. Lokale Koordinaten
2. Welt-KoordinatenPositionierung der Objekte
Geometrie
Transformationen innerhalb der Koordinatensysteme über Matrizen
3. Kamera-KoordinatenBewegung des Spielers / der Kamera: Verschiebung und Rotation der Weltkoordinaten
![Page 19: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/19.jpg)
Kamera - Koordinaten
Die Kamera bleibt fest, die Welt verschiebt und dreht sich um die Kamera.
![Page 20: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/20.jpg)
... um die X-Achse ...
... um Y-Achse ...
... um Z-Achse ...Geometrie
Verschiebung, Rotation ...alle Schmankerln der linearen Algebra!
Einen P
unkt
(x, y
, z) d
rehen
...
![Page 21: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/21.jpg)
Der Blickwinkel macht's!Viewing Frustum
Die schnellsten Polygone sind die, die nicht berechnet werden müssen!
ClippingCulling
Bounding Boxes
![Page 22: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/22.jpg)
LOD - Levels of Detail:Es ist nie falsch, selbst zu denken ...
Dynamisches Ecken-Management: LOD
Stefan Röttger
![Page 23: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/23.jpg)
Dynamisches Ecken-Management: LOD
Stefan Röttger
![Page 24: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/24.jpg)
Beispiel 3: LOD- Algorithmus
Drahtgittermodell
Texturen
Flug über einen Planeten
viele, viele Ecken
Licht selbst berechnet
Rechenleistung
Nur die Blickrichtung zählt
![Page 25: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/25.jpg)
Nachtrag zum Beispiel 3: LOD- Algorithmus
Light Map Bump Map
![Page 26: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/26.jpg)
4 Ecken, 2 Polygone, 1 Textur:Statische Bilder, die sich immer in Blickrichtung drehen.
Textur-Mogelei: Billboards
![Page 27: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/27.jpg)
Dynamische Szenen
Straßen-Stücke
Straßen-Graph
Dynamik ist spannend - will jedoch schnell geladen sein!
![Page 28: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/28.jpg)
Beispiel 4: Dynamischer Fahrsimulator
Texturen
Billboards
Light-Maps
Straßenstücken Straßen-Graph
Nebel
Licht
![Page 29: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/29.jpg)
DirectX 8 SDK : http://msdn.microsoft.com/directx
Stefan Zerbsthttp://www-public.tu-bs.de:8080/~y0005571/
Stefan Röttger (LOD)http://wwwvis.informatik.uni-stuttgart.de/~roettger/
Virtual Terrain Project http://www.vterrain.org/ Virtual Terrain Project
The DirectX eXperience http://www.geocities.com/SiliconValley/Way/3390/index.html
Links
![Page 30: Erfahrungen mit Microsoft DirectX 8 W. Krug, April 2002](https://reader036.vdocuments.mx/reader036/viewer/2022062404/55204d8649795902118d908e/html5/thumbnails/30.jpg)
Fragen ?
Wünsche ?
Vorschläge ?