57
3D-Verfahren Autor: Christian Kehl 1 Hochschule Wismar - Technik Multimedialer Systeme

3D Verfahren

Embed Size (px)

DESCRIPTION

Script for 3D procedures in Multimedia System Presentation

Citation preview

Page 1: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

1

3D-Verfahren

Autor: Christian Kehl

Page 2: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

2

Gliederung

• Rasterisierung und Polygongrafik• Voxelgrafik• Raytracing• Weitere 3D-Darstellungsverfahren

Page 3: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

3

Rasterisierung und Polygongrafik

• Allgemeine Grafikpipeline• Shader• DirectX

– Erklärung Grafikschnittstelle– Programmierung– Entwicklung

• OpenGL– Erklärung Grafikschnittstelle– Programmierung– Entwicklung– Beispiele

• Vergleich OpenGL-DirectX

Page 4: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

4

Allgemeine Grafikpipeline

• Konsekutiver Aufbau

• Geometrie

• Rasterung

Page 5: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

5

Rasterisierung und Polygongrafik

• Allgemeine Grafikpipeline• Shader• DirectX

– Erklärung Grafikschnittstelle– Programmierung– Entwicklung

• OpenGL– Erklärung Grafikschnittstelle– Programmierung– Entwicklung– Beispiele

• Vergleich OpenGL-DirectX

Page 6: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

6

Shader

Definition:

Shader sind Assembler Programme die direkt im Grafikprozessor der Grafikkarte ausgeführt werden. Unter bestimmten Umständen können diese aber auch per Software emuliert werden, was aber sehr langsam ist und vermieden werden sollte.

[http://www.online-tutorials.net/directx/vertex-shader-pixel-shader-untersttzung-in-directx-9/tutorials-t-7-2.html]

Page 7: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

7

Shader

• Vertex-Shader -> Vertex-Operationen

Page 8: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

8

Shader

• Pixel-Shader -> Per-Pixel-Operationen

Page 9: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

9

Shader

• Geometry-Shader -> Verformung von Vertex- und Pixelinformationen

Page 10: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

10

Rasterisierung und Polygongrafik

• Allgemeine Grafikpipeline• Shader• DirectX

– Erklärung Schnittstelle– Programmierung– Entwicklung

• OpenGL– Erklärung Schnittstelle– Programmierung– Entwicklung– Beispiele

• Vergleich OpenGL-DirectX

Page 11: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

11

DirectX

• Standardschnittstelle für Windows Games

Schnittstellenskizze

Page 12: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

12

Erklärung der Schnittstelle

• DirectX Komplettpaket für Multimedia-Anwendungen

• Direct3D unterteilt in Immidiate Mode (Grafikprogrammierung) und Retained Mode (Interface und 2D)

Page 13: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

13

Programmierung

Initialisierung

Page 14: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

14

Programmierung

Render-Funktion

Page 15: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

15

Programmierung

Message-Handling

Page 16: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

16

Programmierung

Main-Funktion

Page 17: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

17

Entwicklung

• Bisheriger Standard ist DirectX 9.0c (letzte Version Windows XP)

• DirectX 10.0:– Erweiterte Funktionalität der Shader– Neue Architektur

• Neueste Version: DirectX 10.1• Geplantes Update auf Version 11 mit Windows 7

Page 18: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

18

Rasterisierung und Polygongrafik

• Allgemeine Grafikpipeline• Shader• DirectX

– Erklärung Schnittstelle– Programmierung– Entwicklung

• OpenGL– Erklärung Schnittstelle– Programmierung– Entwicklung– Beispiele

• Vergleich OpenGL-DirectX

Page 19: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

19

OpenGL

• Schnittstelle für jede Art von Polygongrafik (Industrie, CAD, Medizin, Spiele)

Schnittstellenskizzen

Page 20: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

20

Erklärung der Schnittstelle

• Betriebssystemunabhängig• Besteht aus verschiedenen Komponenten

• Renderpipeline (Version 2.1)

Page 21: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

21

Programmierung

• OpenGL ist StateMachine• Wechsel des Programmierstils bedingt durch

Einzelkomponenten

Page 22: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

22

Entwicklung

• Bis August 2008 aktuellste Version: 2.1• Wechsel der Architektur mit Version 3.0 (August 2008)• Version 3.1 geplant für 2009• Entwicklung langsamer als bei DirectX, da Änderungen der

Architektur nicht Kompatibel mit alten Versionen• Computergrafik in Industrie und Wissenschaft jedoch

nachhaltiger als Spiele

Page 23: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

23

Beispiele

• Vertex Array Objects & Displacement Mapping

Page 24: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

24

Beispiele

• 32-Bit Floating Point Precision (High Definition Range-Rendering)

Page 25: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

25

Rasterisierung und Polygongrafik

• Allgemeine Grafikpipeline• Shader• DirectX

– Erklärung Schnittstelle– Programmierung– Entwicklung

• OpenGL– Erklärung Schnittstelle– Programmierung– Entwicklung– Beispiele

• Vergleich OpenGL-DirectX

Page 26: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

26

Vergleich OpenGL - DirectX

Page 27: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

27

Voxelgrafik

• Definition• Wirkprinzip

– Marching Cubes– Octrees– Approximation durch Diskretisierung

• Beispiele

Page 28: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

28

Definition

• Voxel = Volume Pixel = „Pixel, der ein Volumen besitzt“ räumliches Gebilde

• jedes Objekt ist aus Voxeln aufgebaut, wie Bilder aus Pixeln aufgebaut sind (Prinzip der atomaren Einheit)

• Zerlegung der gesamten Szenerie in diese atomaren Einheiten

Page 29: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

29

Voxelgrafik

• Definition• Wirkprinzip

– Marching Cubes– Octrees– Approximation durch Diskretisierung

• Beispiele

Page 30: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

30

Wirkprinzip

• Aufbau der Szenerie aus einer Menge von Voxel-Objekten• Detailierte Oberflächenstruktur und einfache

Kollisionserkennung als Vorteil von Voxeln• Da Rechenintensives Verfahren Notwendigkeit von

verbesserten Darstellungsalgorithmen

Page 31: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

31

Marching Cubes

• Schnittflächenberechnung• Wenn Großteil des Voxels innerhalb des geteilten Volumens,

dann Darstellung (Schwellwert nötig)• Transformation in Polygongrafik; automatische

Normalvektor-Berechnung

Page 32: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

32

Octrees

• Aufteilung eines Voxelobjekts in jeweils 8 Teilobjekte bis Voxelgröße

• Streng rekursiver Algorithmus

Page 33: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

33

Approximation durch Diskretisierung

• Verbesserung Marching Cubes• Schnittflächenberechnung nur noch an markanten Punkten• Optimierung von Laufzeit und Speicheraufwand

Page 34: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

34

Voxelgrafik

• Definition• Wirkprinzip

– Marching Cubes– Octrees– Approximation durch Diskretisierung

• Beispiele

Page 35: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

35

Beispiele

• Konzept aus der Modellierung in der Medizin• Computertomographie

Page 36: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

36

Beispiele

• Weiteres Beispiel aus Medizin: 3D-Röntgenaufnahmen

Page 37: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

37

Beispiele

• Ende 90er Jahre: Einzug in die Spiele-Industrie• Damals Ersatz für Partikelsystem

Page 38: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

38

Raytracing

• Globales Beleuchtungsmodell• Erläuterung Prinzip Raytracing• Einsatzgebiete• Intel Raytracing

– Einführung– Demos– Wirkprinzip

• Wertung und Probleme– Bounding Boxes– Grafikqualität– Wegfall der Grafikkarte

Page 39: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

39

Globales Beleuchtungsmodell

• Im Gegensatz zur Raster-Darstellung, Auswertung der Grafik einer kompletten Szene

• Szene = Bildraum, gekennzeichnet durch Breite, Höhe (Auflösung oder selbstgeschaffenes Sichtfenster) und Tiefe (muss selbst bestimmt werden)

Page 40: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

40

Raytracing

• Globales Beleuchtungsmodell• Erläuterung Prinzip Raytracing• Einsatzgebiete• Intel Raytracing

– Einführung– Demos– Wirkprinzip

• Wertung und Probleme– Bounding Boxes– Grafikqualität– Wegfall der Grafikkarte

Page 41: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

41

Erläuterung Wirkprinzip Raytracing

• Raytracing = Strahlenrückverfolgung• Umgekehrte Technik der Realität• Ursprünglich als Sichtbarkeits-Algorithmus gedacht• Berücksichtigung teilweise korrekter physikalischer Effekte

(Refraktion, Reflektion, Absorption)

Page 42: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

42

Raytracing

• Globales Beleuchtungsmodell• Erläuterung Prinzip Raytracing• Einsatzgebiete• Intel Raytracing

– Einführung– Demos– Wirkprinzip

• Wertung und Probleme– Bounding Boxes– Grafikqualität– Wegfall der Grafikkarte

Page 43: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

43

Einsatzgebiete

• Ersatz für Produktion teurer, gefertigter Prototypen durch CADs

• Anwendung in aufwendigen Filmproduktionen• Vermehrte Forschung von Chipherstellern im Bereich

Games

Page 44: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

44

Einsatzgebiete

• Raytracing Studie von NVIDIA • Sept. 2008 • 4 parallele Grafikkarten; org.

Auflösung 1920x1028

• ATI Raytracing ähnlich dem Verfahren in „Transformers“• 2008 erstellt

• Preisträger bei Ausschreibung um Beispiele für Raytracing

Page 45: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

45

Einsatzgebiete

• Ein paar Sachen zu FF Movie

Page 46: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

46

Einsatzgebiete

• Wettersimulation• anspruchsvolle Simulationen von physikalischen Vorgängen

• Detailgetreue Geometriedarstellung

Page 47: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

47

Einsatzgebiete

• Naturgetreue Texturen• Detailmodell neuer Produkte

Page 48: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

48

Raytracing

• Globales Beleuchtungsmodell• Erläuterung Prinzip Raytracing• Einsatzgebiete• Intel Raytracing

– Einführung– Demos– Wirkprinzip

• Wertung und Probleme– Bounding Boxes– Grafikqualität– Wegfall der Grafikkarte

Page 49: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

49

Intel Raytracing - Einführung

• Aktueller Entwicklungsbereich• Antrieb durch Diplomarbeit an einer Raytracing-Version von

Quake4• Aufwandsabschätzungen belegen Realisierbarkeit

Page 50: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

50

Demos & Wirkprinzip

• Korrekte Lichtberechnung & AA

• Refraktion (Lichtbrechung)

Page 51: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

51

Demos & Wirkprinzip

• Schattenberechnung

Page 52: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

52

Raytracing

• Globales Beleuchtungsmodell• Erläuterung Prinzip Raytracing• Einsatzgebiete• Intel Raytracing

– Einführung– Demos– Wirkprinzip

• Wertung und Probleme– Bounding Boxes– Grafikqualität– Wegfall der Grafikkarte

Page 53: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

53

Bounding Boxes

• Reduzierung Rechenaufwand von Kollisionserkennung

• Notwendiger Einsatz von „Bounding Spheres“ zur Kollisionserkennung

Page 54: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

54

Grafikqualität

• Schattenberechnung schneller, jedoch weiterhin Vollschatten

• Keine Nutzung von abschwächenden Schatten

Page 55: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

55

Wegfall der Grafikkarte

• Raytracing sehr Prozessorlastich• Physikberechnung auf eigenem Chip sinnvoll• Auswertung Effekte auf Grafikkarte sinnvoll Hauptaufgabe des Prozessors ist Generierung von Rays• Forschung im Bereich spezialisierter RT-Karten

Page 56: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

56

Quellenverzeichnis

– OpenGL RedBook / YellowBook– Scripte:

• TU Darmstadt• Universität Saarbrücken• TU Berlin• TU München• TU Graz• TU Wien• University of California and San Diego• University of Virginia• University of Sydney

– www.computerbase.de– www.tomshardware.com– http://www.devmaster.net/articles/raytracing/– http://private.homepages.intershop.de/rene/povray/how-to/– www.siggraph.org– http://msdn.microsoft.com– www.informatik-forum.at– http://wiki.delphigl.com/index.php/Hauptseite– www.ozone3d.net– www.songho.ca– http://nehe.gamedev.net

Page 57: 3D Verfahren

Hochschule Wismar - Technik Multimedialer Systeme

57

Quellenverzeichnis

• Wissen:– http://graphics.cs.uni-sb.de/RTRT.old/– http://raytracey.blogspot.com/2008/08/otoy-transformers-and-ray-tracing.html --> Skorpion-Video– http://www.vislab.usyd.edu.au/– http://dusanwriter.com/?p=840 – http://www.computerbase.de/artikel/software/2007/bericht_raytracing_spielen/drucken/ – http://www.online-tutorials.net/directx/shader-konzept/tutorials-t-7-77.html – http://www.at-mix.de/direct3d.htm – http://lexikon.calsky.com/de/txt/p/pi/pixel_shader.php – http://www.tweakpc.de/news/14470/opengl-3-0-spezifikationen-verabschiedet/– http://www.cs.sunysb.edu/~vislab/projects/volume/Papers/index.html– www.songho.ca– http://vis.ucar.edu/~scheitln/viz/portfolio.html