3D Verfahren

Preview:

DESCRIPTION

Script for 3D procedures in Multimedia System Presentation

Citation preview

Hochschule Wismar - Technik Multimedialer Systeme

1

3D-Verfahren

Autor: Christian Kehl

Hochschule Wismar - Technik Multimedialer Systeme

2

Gliederung

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

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

Hochschule Wismar - Technik Multimedialer Systeme

4

Allgemeine Grafikpipeline

• Konsekutiver Aufbau

• Geometrie

• Rasterung

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

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]

Hochschule Wismar - Technik Multimedialer Systeme

7

Shader

• Vertex-Shader -> Vertex-Operationen

Hochschule Wismar - Technik Multimedialer Systeme

8

Shader

• Pixel-Shader -> Per-Pixel-Operationen

Hochschule Wismar - Technik Multimedialer Systeme

9

Shader

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

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

Hochschule Wismar - Technik Multimedialer Systeme

11

DirectX

• Standardschnittstelle für Windows Games

Schnittstellenskizze

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)

Hochschule Wismar - Technik Multimedialer Systeme

13

Programmierung

Initialisierung

Hochschule Wismar - Technik Multimedialer Systeme

14

Programmierung

Render-Funktion

Hochschule Wismar - Technik Multimedialer Systeme

15

Programmierung

Message-Handling

Hochschule Wismar - Technik Multimedialer Systeme

16

Programmierung

Main-Funktion

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

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

Hochschule Wismar - Technik Multimedialer Systeme

19

OpenGL

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

Schnittstellenskizzen

Hochschule Wismar - Technik Multimedialer Systeme

20

Erklärung der Schnittstelle

• Betriebssystemunabhängig• Besteht aus verschiedenen Komponenten

• Renderpipeline (Version 2.1)

Hochschule Wismar - Technik Multimedialer Systeme

21

Programmierung

• OpenGL ist StateMachine• Wechsel des Programmierstils bedingt durch

Einzelkomponenten

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

Hochschule Wismar - Technik Multimedialer Systeme

23

Beispiele

• Vertex Array Objects & Displacement Mapping

Hochschule Wismar - Technik Multimedialer Systeme

24

Beispiele

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

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

Hochschule Wismar - Technik Multimedialer Systeme

26

Vergleich OpenGL - DirectX

Hochschule Wismar - Technik Multimedialer Systeme

27

Voxelgrafik

• Definition• Wirkprinzip

– Marching Cubes– Octrees– Approximation durch Diskretisierung

• Beispiele

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

Hochschule Wismar - Technik Multimedialer Systeme

29

Voxelgrafik

• Definition• Wirkprinzip

– Marching Cubes– Octrees– Approximation durch Diskretisierung

• Beispiele

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

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

Hochschule Wismar - Technik Multimedialer Systeme

32

Octrees

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

• Streng rekursiver Algorithmus

Hochschule Wismar - Technik Multimedialer Systeme

33

Approximation durch Diskretisierung

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

Hochschule Wismar - Technik Multimedialer Systeme

34

Voxelgrafik

• Definition• Wirkprinzip

– Marching Cubes– Octrees– Approximation durch Diskretisierung

• Beispiele

Hochschule Wismar - Technik Multimedialer Systeme

35

Beispiele

• Konzept aus der Modellierung in der Medizin• Computertomographie

Hochschule Wismar - Technik Multimedialer Systeme

36

Beispiele

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

Hochschule Wismar - Technik Multimedialer Systeme

37

Beispiele

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

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

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)

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

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)

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

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

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

Hochschule Wismar - Technik Multimedialer Systeme

45

Einsatzgebiete

• Ein paar Sachen zu FF Movie

Hochschule Wismar - Technik Multimedialer Systeme

46

Einsatzgebiete

• Wettersimulation• anspruchsvolle Simulationen von physikalischen Vorgängen

• Detailgetreue Geometriedarstellung

Hochschule Wismar - Technik Multimedialer Systeme

47

Einsatzgebiete

• Naturgetreue Texturen• Detailmodell neuer Produkte

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

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

Hochschule Wismar - Technik Multimedialer Systeme

50

Demos & Wirkprinzip

• Korrekte Lichtberechnung & AA

• Refraktion (Lichtbrechung)

Hochschule Wismar - Technik Multimedialer Systeme

51

Demos & Wirkprinzip

• Schattenberechnung

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

Hochschule Wismar - Technik Multimedialer Systeme

53

Bounding Boxes

• Reduzierung Rechenaufwand von Kollisionserkennung

• Notwendiger Einsatz von „Bounding Spheres“ zur Kollisionserkennung

Hochschule Wismar - Technik Multimedialer Systeme

54

Grafikqualität

• Schattenberechnung schneller, jedoch weiterhin Vollschatten

• Keine Nutzung von abschwächenden Schatten

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

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

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

Recommended