Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer...

Post on 06-Apr-2016

231 views 0 download

Transcript of Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer...

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