computer graphics & visualization von miroslav knejp raytracing, the future of realtime computer...
TRANSCRIPT
computer graphics & visualization
von
Miroslav Knejp
Raytracing, the future of realtimecomputer graphics?
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
ÜbesichtÜbesicht• Erste EindrückeErste Eindrücke• Rasterization, die Quadratur des DreiecksRasterization, die Quadratur des Dreiecks
– Erster Einsatz in SpielenErster Einsatz in Spielen– Das grundlegende PrinzipDas grundlegende Prinzip– Vor- und NachteileVor- und Nachteile
• Raytracing, die Simulation der RealitätRaytracing, die Simulation der Realität– Die EntstehungsgeschichteDie Entstehungsgeschichte– Wie funktioniert es?Wie funktioniert es?– Vor- und NachteileVor- und Nachteile– HardwareumsetzungHardwareumsetzung
• Ein Blick in die SterneEin Blick in die Sterne– HybridverfahrenHybridverfahren– Der SaarCOR PionierDer SaarCOR Pionier
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Videos in SpielenVideos in Spielen
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Final FantasyFinal Fantasy
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Herr der RingeHerr der Ringe
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Der Erstvergleich
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
ÜbesichtÜbesicht• Erste EindrückeErste Eindrücke• Rasterization, die Quadratur des DreiecksRasterization, die Quadratur des Dreiecks
– Erster Einsatz in SpielenErster Einsatz in Spielen– Das grundlegende PrinzipDas grundlegende Prinzip– Vor- und NachteileVor- und Nachteile
• Raytracing, ein physikalisches ModellRaytracing, ein physikalisches Modell– Die EntstehungsgeschichteDie Entstehungsgeschichte– Wie funktioniert es?Wie funktioniert es?– Vor- und NachteileVor- und Nachteile– HardwareumsetzungHardwareumsetzung
• Ein Blick in die SterneEin Blick in die Sterne– HybridverfahrenHybridverfahren– Der SaarCOR PionierDer SaarCOR Pionier
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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.
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
ÜbesichtÜbesicht• Erste EindrückeErste Eindrücke• Rasterization, die Quadratur des DreiecksRasterization, die Quadratur des Dreiecks
– Erster Einsatz in SpielenErster Einsatz in Spielen– Das grundlegende PrinzipDas grundlegende Prinzip– Vor- und NachteileVor- und Nachteile
• Raytracing, ein physikalisches ModellRaytracing, ein physikalisches Modell– Die EntstehungsgeschichteDie Entstehungsgeschichte– Wie funktioniert es?Wie funktioniert es?– Vor- und NachteileVor- und Nachteile– HardwareumsetzungHardwareumsetzung
• Ein Blick in die SterneEin Blick in die Sterne– HybridverfahrenHybridverfahren– Der SaarCOR PionierDer SaarCOR Pionier
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Das Grundprinzip
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Der Raytracing Algorithmus
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Reflexionen
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Transparenz
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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, mitn = 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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
ÜbesichtÜbesicht• Erste EindrückeErste Eindrücke• Rasterization, die Quadratur des DreiecksRasterization, die Quadratur des Dreiecks
– Erster Einsatz in SpielenErster Einsatz in Spielen– Das grundlegende PrinzipDas grundlegende Prinzip– Vor- und NachteileVor- und Nachteile
• Raytracing, ein physikalisches ModellRaytracing, ein physikalisches Modell– Die EntstehungsgeschichteDie Entstehungsgeschichte– Wie funktioniert es?Wie funktioniert es?– Vor- und NachteileVor- und Nachteile– HardwareumsetzungHardwareumsetzung
• Ein Blick in die SterneEin Blick in die Sterne– HybridverfahrenHybridverfahren– Der SaarCOR PionierDer SaarCOR Pionier
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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• www.saarcor.de
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
SaarCOR PerformanceScene triangles objects SaarCOR OpenRT RPU
Scene6 806 1 44,6 fps 20,8 fps 12,9 fps
Office 34 312 1 35,9 fps 10,4 fps 14,6 fps
Quake3 39 424 1 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 1 18,6 fps 8,0 fps 7,5 fps
Conference 282 805 54 16,2 fps 8,1 fps 5,5 fps
Castle 20 891 8 17,5 fps 9,2 fps 2,8 fps
Terrain 10 469 866 264 11,6 fps 3,5 fps 2,2 fps
SunCOR 187 145 136 5 622 23,5 fps 7,5 fps 4,0 fps
OpenRT: 2,66 GHz Pentium 4 | 512 x 384 AuflösungSaarCOR/RPU: 66 MHz | Texturen, Shading & Filter
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
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.
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Der SaarCOR
computer graphics & visualization
Raytracing, the future of realtime computer graphics?Miroslav Knejp
Echt oder künstlich?
Danke für die Aufmerksamkeit
Q & A