Upload
christian-kehl
View
1.075
Download
4
Embed Size (px)
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