Präsentation herunterladen
Veröffentlicht von:Wernher Schneiders Geändert vor über 10 Jahren
1
Raytracing, the future of realtime
computer graphics? von Miroslav Knejp
2
Übesicht Erste Eindrücke Rasterization, die Quadratur des Dreiecks
Erster Einsatz in Spielen Das grundlegende Prinzip Vor- und Nachteile Raytracing, die Simulation der Realität Die Entstehungsgeschichte Wie funktioniert es? Hardwareumsetzung Ein Blick in die Sterne Hybridverfahren Der SaarCOR Pionier
3
Videos in Spielen
4
Final Fantasy
5
Herr der Ringe
6
Der Erstvergleich
7
Übesicht Erste Eindrücke Rasterization, die Quadratur des Dreiecks
Erster Einsatz in Spielen Das grundlegende Prinzip Vor- und Nachteile Raytracing, ein physikalisches Modell Die Entstehungsgeschichte Wie funktioniert es? Hardwareumsetzung Ein Blick in die Sterne Hybridverfahren Der SaarCOR Pionier
8
Rasterization 1996: Quake ist das erste Spiel mit Rasterization und Polygonen Fast komplett von John Carmack allein geschrieben Michael Abrash für Optimierungen einbezogen Erste Anwendung von Lightmaps Anfangs reiner Software Rasterizer Später Support für Renditions‘s Vérité 1000 Grafikchip GLQuake für Windows 95 Demonstrierte die Fähigkeiten der 3dfx „Voodo“ Chipsätze Inzwischen glauben viele, dies wäre der Auslöser für die Gründung neuer Unternehmen und die revolutionäre Entwicklung der Grafikkarten gewesen.
9
Scanline Algorithmus Anfangs nur die Eckpunte bekannt
Berechne die Kantenvektoren und die Umkehrung der Steigung 1/m. Die Kanten gehen von oben nach unten Wähle Kanten ausgehend vom höchsten Punkt Zeichne alle Punkte zwischen den x Werten der Kantenanfänge Veschiebe die Kanten um 1 nach unten und addiere 1/m auf die x Werte Zeichne alle Punkte zwischen den neuen x Werten Wiederhole bis keine Kanten mehr da
10
Vor- & Nachteile Einfacher Algorithmus mit minimalem Rechenaufwand
Äußerst effektive Hardwareumsetzungen Keinerlei forgeschrittene Effekte Schattenwurf (Stencil-Buffer Maske) Reflexionen (Stencil-Buffer Maske) Refraktionen (nur mit Shadern) Runde Flächen nur mit vielen Polygonen möglich Beluchtungsmodell wird meist auf mehr Bildpunkte angewandt als nötig
11
Übesicht Erste Eindrücke Rasterization, die Quadratur des Dreiecks
Erster Einsatz in Spielen Das grundlegende Prinzip Vor- und Nachteile Raytracing, ein physikalisches Modell Die Entstehungsgeschichte Wie funktioniert es? Hardwareumsetzung Ein Blick in die Sterne Hybridverfahren Der SaarCOR Pionier
12
Historisches 1966 Mathematical Application Group Inc. (MAGI) für Strahlungsdarstellung mit ray casting 1968 Arthur Apple nimmt in betracht ray casting für Grafikdarstellung zu benutzen 1972 wird MAGI wird zu Animatinsstudio Erstellte damals 3-D Animationen für TV, Bildungskanal und TRON 1979 Turner Whitted erweitert ray casting um weitere, rekursiv erstelte, Strahlen und schafft damit den Durchbruch der Computergrafik und nennt das Verfahren ray tracing
13
Das Grundprinzip
14
Der Raytracing Algorithmus
15
Reflexionen
16
Transparenz
17
Vorteile Pixelgenaue Beleuchtung, ziemlich realistische Lichtverhältnise Beleuchtungsmodell wird nur auf sichtbaren Objektpunkten ausgewertet Realistische Schatten, Reflexionen und Refraktionen sind eingebaute Effekte und benötigen keine Tricks oder Shader Shader sind weiterhin einsetzbar Mit guten Sortieralgorithmen ist die Komplexität der Szene fast irrelevant (k-D Bäume) Runde Flächen durch Gleichungen oder Interpolation erreichbar Hypertextures
18
Nachteile Schnittpunktberechnungen zwischen Gerade und Dreieck langsam
Geradengleichung: X = O + µ * D Unterschiedlich je nach Schnittobjekt (Ebenen, Kugeln, Dreiecke, NURBS etc.) Ohne einen effizienten Sortieralgorithmus der Geometrie kaum machbar, da sonst O(n) für jeden Strahl, mit n = Anzahl Objekte in der Szene! Führt zu Aliasing Weiche Schatten sind teuer Trotz statischer Szene müssen alle Licht- und Schattenberechnungen für jeden Blickpunkt durchgeführt werden Globales Diffuses Licht wird nicht berücksichtigt
19
k-D Bäume k-dimensionale Raumeinteilungsbäume
Jede Aufzweigung unterteilt den Raum entlang einer der Hautpachsen Die Vergleichsachse wird bei jedem Tiefenschritt cyklisch gewechselt Jeder Knoten enthält genau ein Element; Speicherverbrauch O(n) Konstruktion in O(n log n) Orthogonale Bereichssuche: Finde alle Knoten, deren Position in einem bestimmten Suchbereich liegt O(n1-1/k) Interaktives Beispiel
20
Hardwareumsetzung Zur Zeit keine echten Raytracer Grafikkarten vorhanden Rekursionen lassen sich schwierig mit hoher Effizienz umsetzen Rasterizer: Jedes Dreieck wird einzeln berechnet und dann verworfen Raytracer: Gesamte Gemoetrie muss während des Vorgangs gespeichert werden Maximale Parallelität, da Strahlen voneinander unabhängig
21
Übesicht Erste Eindrücke Rasterization, die Quadratur des Dreiecks
Erster Einsatz in Spielen Das grundlegende Prinzip Vor- und Nachteile Raytracing, ein physikalisches Modell Die Entstehungsgeschichte Wie funktioniert es? Hardwareumsetzung Ein Blick in die Sterne Hybridverfahren Der SaarCOR Pionier
22
Hybridverfahren Ersetze die Schnittpunktberechnung durch Rasterizer
Anstatt der Farbe wird Position des Schnittpunkts und ein Zeiger auf das Dreieck gespeichert Damit wird die erste Stufe deutlich beschleunigt Ist nur für mittel gefüllte Szenen brauchbar wegen der Rasterizer Nachteile Schattenberechnung, Transparenz und Spiegelung müssen wieder vom Raytracer Algorithmus übernommen werden Hoher Geschwindigkeitsschub bei wenig Spiegelungen und Lichtbrechungen
23
Der SaarCOR Echtzeit Raytracing Chip der Universität Saarbrücken
Wurde am Lehrstuhl für Computergrafik unter Prof. Phillip Slusallek entwickelt SIGGRAPH 2005 wurde er erstmals im Cell-Processor von IBM demonstriert Der erste und einzige Raytracing Chip OpenRT: Eine Software Grafik API, die stark an die von OpenGL angelehnt ist und die Grundlage für den Chip war Kann riesige Datenmengen in Echtzeit darstellen Automobilindustrie setzt das Echtzeit-Raytraicing Verfahren bereits in der Planungsphase ein, um Fehler vor der Produktion zu finden RPU: Programmable Ray Processing Unit
24
SaarCOR Technisches Realisiert auf einem FPGA Chip
FPGA = Field Programmable Gate Array, besteht aus sehr vielen programmierbaren Elementen (= Gates), deutlich langsamer als festverdrahtete Logik 90 MHz Grundtakt 6 x 4 MB SD-RAM 2 RAM Riegel für Framebuffer, 1 Riegel für Shader und 3 Riegel für k-D Baum und Dreiecke 300 MB/s Speicherbandbreite von Raytracer und Shader genutzt 135 MB/s zum Zeichnen einer 1024x768 Szene auf dem Bildschirm PCI Anschluss Festverdrahtete Logik könnte noch schnellere Taktungen und mehr Speicher/Bandbreite erreichen
25
SaarCOR Performance OpenRT: 2,66 GHz Pentium 4 | 512 x 384 Auflösung
Scene triangles objects SaarCOR OpenRT RPU Scene6 806 1 44,6 fps 20,8 fps 12,9 fps Office 34 312 35,9 fps 10,4 fps 14,6 fps Quake3 39 424 24,6 fps 11,1 fps 12,5 fps Quake3-p 52 790 17 19,6 fps 7,9 fps 9,7 fps UT2003 52 479 18,6 fps 8,0 fps 7,5 fps Conference 54 16,2 fps 8,1 fps 5,5 fps Castle 20 891 8 17,5 fps 9,2 fps 2,8 fps Terrain 264 11,6 fps 3,5 fps 2,2 fps SunCOR 5 622 23,5 fps 4,0 fps OpenRT: 2,66 GHz Pentium 4 | 512 x 384 Auflösung SaarCOR/RPU: 66 MHz | Texturen, Shading & Filter
26
nVidia 8800 GTX 3D Mark03 25 494 022 Triangles 84,69 fps
Deutlich höhere Transistorzahlen als complette Quad-Core CPUs GPU-Takt: 575 MHz Speichertakt: 1800 MHz 128 Shader Einheiten (1,35 GHz) 768 MB GDDR3 RAM 30 GB/s Anbindung (könnte über 100 Raytracing Einheiten versorgen) Der bis heute schnellste veröffentlichte Raytracer auf GPUs schaffte 300k bis 4M Strahlen pro Sekunde ohne Geometry Shader (ATI Radeon 9700PRO) Der FPGA Prototyp schafft 3M bis 12M Strahlen pro Sekunde mit deutlich geringeren Energie- und Bandbreitenanforderung Fazit: Ein festverdrahteter SaarCOR, der um eine oder zwei Größenordnungen erweitert wird, würde bereits die Fähigkeiten normaler Grafikkarten übertreffen.
27
Der SaarCOR
28
Danke für die Aufmerksamkeit
Echt oder künstlich? Danke für die Aufmerksamkeit Q & A
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.