computer graphics & visualization von miroslav knejp raytracing, the future of realtime computer...

28
computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

Upload: wernher-schneiders

Post on 06-Apr-2016

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

von

Miroslav Knejp

Raytracing, the future of realtimecomputer graphics?

Page 2: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer 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

Page 3: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Videos in SpielenVideos in Spielen

Page 4: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Final FantasyFinal Fantasy

Page 5: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Herr der RingeHerr der Ringe

Page 6: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Der Erstvergleich

Page 7: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer 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, 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

Page 8: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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.

Page 9: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 10: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 11: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer 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, 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

Page 12: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 13: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Das Grundprinzip

Page 14: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Der Raytracing Algorithmus

Page 15: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Reflexionen

Page 16: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Transparenz

Page 17: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 18: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 19: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 20: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 21: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer 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, 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

Page 22: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 23: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 24: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 25: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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

Page 26: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

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.

Page 27: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Der SaarCOR

Page 28: Computer graphics & visualization von Miroslav Knejp Raytracing, the future of realtime computer graphics?

computer graphics & visualization

Raytracing, the future of realtime computer graphics?Miroslav Knejp

Echt oder künstlich?

Danke für die Aufmerksamkeit

Q & A