1 / 28

von Miroslav Knejp

Raytracing, the future of realtime computer graphics?. von Miroslav Knejp. Ü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

karena
Download Presentation

von Miroslav Knejp

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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? • Vor- und Nachteile • 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? Vor- und Nachteile 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? Vor- und Nachteile 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, 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

  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? Vor- und Nachteile 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 • www.saarcor.de

  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 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. Echt oder künstlich? Danke für die Aufmerksamkeit Q & A

More Related