Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wann wird dynamisches Echtzeit-Raytracing für den Massenmarkt verfügbar? Alexander Stromer SS2012 / 20.9.2012 / Universität Trier alexander@stromer.me.

Ähnliche Präsentationen


Präsentation zum Thema: "Wann wird dynamisches Echtzeit-Raytracing für den Massenmarkt verfügbar? Alexander Stromer SS2012 / 20.9.2012 / Universität Trier alexander@stromer.me."—  Präsentation transkript:

1 Wann wird dynamisches Echtzeit-Raytracing für den Massenmarkt verfügbar?
Alexander Stromer SS2012 / / Universität Trier

2 20.9.2012 Ray Tracing Grundlagen Film:
Beispiel eines offline (nicht real-time) gerenderten Ray Tracing Filmes Quelle:

3 Zentralprojektion Heute übliches Verfahren in Grafikkarten 20.9.2012
Das heute meist eingesetzte Verfahren ist Zentralprojektion (oft auch Rasterizing genannt). Dabei wird das 3D-Modell auf Basis von trigonometrischen Funktionen (sinus/cosinus) auf die Bildebene projiziert. Jedes möglicherweise sichtbare Objekt wird dabei von dem Operator auf die Bildebene projiziert, auch wenn es dann teilweise von anderen Objekten verdeckt wird. Bei wenigen Objekten im 3D-Modell ist dies eine sehr schnelle Methode ein Bild zu erzeugen. Je mehr Objekte sich aber im Bild befinden, umso langsamer wird dieser Prozess. Nichtsdestotrotz ist die Zentralprojektion sehr effizient um 2-dimensionale Bilder von 3D Modellen zu erzeugen. Problem bei diesem Verfahren ist die Berechnung der Lichtverhältnisse, da bei der mathematischen Projektion die Helligkeit nicht miteingeht. Man spricht hier von lokaler (direkte Beleuchtung eines Objekts) und globaler (Beleuchtung über Reflexionen andere Objekte, auch genannt Radiosity) Illumination. Das Bild zeigt die Projektion von 2 Dreiecken auf eine Bildebene. Dabei verdeckt das rote Dreieck einen Großteil des gelben Dreiecks, aus der Sicht des Betrachters.

4 Ray Tracing Rendering-Algorithmus für 3D-Szenen
Lichtstrahl nachempfunden Ray Tracing ist ein Rendering-Algorithmus für 3D-Szenen, der in den 60er Jahren in den USA erfunden worden ist. Dabei wird das 3D-Modell ähnlich dem Verlauf von Lichtstrahlen durchwandert. Der wesentliche Unterschied zwischen natürlichen Lichtstrahlen und Ray Tracing ist aber, dass Lichtstrahlen (Rays) von der Lichtquelle ausgehen und beim Betrachter enden, bei Ray Tracing aber der Strahl beim Betrachter beginnt und bei der Lichtquelle endet. Der Betrachter wird in dem Bild als Auge dargestellt, was natürlich nicht korrekt ist, denn zwischen dem Auge und dem gerenderten Objekt ist noch der Computerbildschirm mit einer entsprechenden Auflösung. Der Bildschirm stellt also jenen Ausschnitt aus der Szene dar, die das Auge wahrnehmen wird. Die Auflösung des Bildschirms gibt die notwendigen Strahlenschüsse vor. Ein Bildschirm mit 1024x1024 Pixel, der somit etwa 1 Million Pixel hat, benötigt also etwa 1 Million Strahlenschüsse, um ein Bild zu erzeugen. Jeder Strahl hat aufgrund der Kameraposition/sonstige Verzerrungen in der Szene eine vorgegebene Richtung, in der der Strahl geschossen werden muss. Sobald ein Strahl auf ein Objekt trifft, wird die Farbe des getroffenen Objekts bestimmt. Je nach Verfahren wird weiter vorgegangen. In dem Bild wird das Verfahren „Schattenberechnung“ gezeigt, dass von dem getroffenen Objekt versucht eine Lichtquelle direkt zu erreichen. Es gibt auch noch Light Ray Tracing. Hier werden die Strahlen von der Lichtquelle aus in das 3D Modell geschossen. Der Betrachter sieht also die ausgestrahlten Lichtstrahlen und deren Auswirkungen auf die Szene. Aufgrund der geringeren Effizienz dieses Konzepts im Gegensatz zu Ray Tracing wird ihm aber nicht viel Aufmerksamkeit geschenkt.

5 Verfahrensablauf Algorithmus
Erzeuge Strahl von Bildebene (Pixel) Suche nähestes Objekt auf Strahl Farbe von Punkt abspeichern Erzeuge Refraktion-/Reflexionsstrahl -> gehe zu 2 Punkt 2 ineffizient -> Beschleunigungsstrukturen Lesegeschwindigkeit Der Ray Tracing Algorithmus: Strahlerzeugung: Der Startstrahl wird von der Bildebene erzeugt Das erste Objekt, was den Strahl kreuzt wird gefunden Farbe des Objekts im Strahl speichern Sub-Strahl vom Objekt abstrahlen mit Durchlässigkeitsfaktor und Brechungsfaktor der Oberfläche (Refraktion) Sub-Strahl vom Objekt abstrahlen mit Spiegelungsfaktor der Oberfläche (Reflektion) Gehe zu 2 Um in einem Modell voller Objekte jenes zu ermitteln, dass gerade den Strahl kreuzt, müssten Kollisionsberechnungen mit allen Objekten des 3D-Modells durchgeführt werden. Dies ist ineffizient, denn eine Kollisionsberechnung mit Objekten, die in der Nähe des Strahls sind, reicht völlig aus. Um effizient das erste kreuzende Objekt auf dem Strahl zu finden, bedient man sich sogenannter Beschleunigungsstrukturen. Das sind oftmals hierarchische Strukturen, die den 3D-Raum in Gebiete unterteilen, sodass mit der aktuellen Position des Strahls schnell alle Objekte in diesem Gebiet ermittelt werden können. Das Problem bei derartigen Strukturen ist aber, dass bei Veränderung des 3D-Modells, die Beschleunigungsstruktur auch neuberechnet/adaptiert werden muss. Typischerweise sind Strukturen entweder einfach zu ändern, aber langsam in der Abfrage, oder aber schwer zu ändern, dafür schnell in der Abfrage. Diesen Tradeoff sollte man also pro Szene festlegen. Bei eher statischen Szenen verwendet man Strukturen für das schnelle Auslesen, bei dynamischen Szenen eher Strukturen für die schnelle Aktualisierung. Beschleunigungsstrukturen Schreibgeschwindigkeit

6 Gängige Beschleunigungsstrukturen
kd-Baum Bounding Volume Hierarchies Quelle: Hier sind zwei übliche Beschleunigungsstrukturen dargestellt. Der kd-Baum ist ein balancierter Baum, dessen Blätter die Objekte des 3D-Modells enthalten. Er unterteilt somit den Raum solange immer mittig, bis jede Hälfte nurmehr 1 Objekt beinhaltet. Im Bild sieht man einen 2d-Baum für einen 2-dimensionalen Raum. Wenn nun in dem gezeigten Bild ein Strahl von links unten nach rechts oben wandern würde, würde er bei jedem weiteren Vordringen nur immer die Objekte im jeweiligen Blatt auf Kollision überprüfen. Bounding Volume Hierarchies sind ähnlich dem kd-Baum aber verfügen über die Möglichkeit, eine Gruppe von Objekten als Blatt zu beinhalten. Dies ist bei Objektansammlungen von Vorteil um trotzdem einen flachen Baum für den gesamten Raum zu erhalten. So kann beispielsweise der Strahl sehr schnell große Distanzen in einem leeren Raum überwinden ohne Objekte überprüfen zu müssen. Quelle:

7 Evolution - Verdeckungsberechnung
In den folgenden Folien werden nun die verschiedenen Evolutionsstufen von Ray Tracing dargestellt. Das einfachste Verfahren von Ray Tracing ist die Verdeckungsberechnung, bei dem der Raum durchschritten, und die Farbe des erstgetroffenen Objekts an die Stelle des abgeschossenen Strahls gezeichnet wird. Dieses Verfahren, bei dem keine weiterführenden Strahlen berechnet werden, wird auch oftmals als Raycasting bezeichnet. Außerdem werden in dem Bild nur die Farben der Objekte jedoch keine Helligkeitsunterschiede dargestellt, dar in diesem Verfahren keine Lichtverhältnisse berechenbar sind. Quelle:

8 Evolution - Schattenberechnung
Die nächste Erweiterung nennt sich Schattenberechnung und ist die Verdeckungsberechnung inklusive einem Versuch vom auftreffenden Ort des Strahls, die Lichtquellen direkt zu erreichen. Wie man an dem Bild erkennt sind alle Zonen, die vom Lichtzentrum nicht direkt erreichbar sind komplett schwarz. Üblich ist außerdem, dass die Entfernung zur Lichtquelle, gekoppelt mit der Intensität des Lichts, eine höhere Helligkeit in nahen Umgebungen erzeugt, als in fernen Umgebungen. Dies führt dazu, dass Objekte, die nahe an der Lichtquelle sind heller erscheinen, als Objekte die weiter davon entfernt sind. Dieser Effekt ist gut an den Wänden erkennbar, wo ein eindeutiger Helligkeitsverlauf vorherrscht. Allerdings ist dies im Bild auch etwas übertrieben. Quelle:

9 Evolution - Rekursiv Die rekursive Variante inkludiert die vorherigen Verfahren und führt spiegelnde (Reflektion) und durchlässige (Refraktion) Oberflächen ein. Dies hat zur Folge, dass ein Strahl beim Auftreffen auf eine Oberfläche mit einem gewissen Faktor gespiegelt wird (Einfallswinkel = Ausfallswinkel) und durchgelassen wird (Durchlässigkeitsfaktor + Lichtbrechungsfaktor). Dieser rekursive Neuschuss eines Sub-Strahls in der Szene kann grundsätzlich unendlich oft passieren, jedoch wird dies abhängig von der Dominanz des Objekts in der Szene üblicherweise relativ früh abgebrochen, da die menschliche Wahrnehmungsgrenze dessen mit jedem Sub-Strahl schwindet. Im Bild ist die hinten liegende Kugel spiegelnd, und die vorne liegende Kugel gläsern ausgeführt. Quelle:

10 Evolution – Diffus / Distributed
Diffuses Raytracing schließt wie gehabt das vorherige Verfahren „rekursives Ray Tracing“ mit ein, bringt jedoch auch eine neue Verbesserung mit sich. Dieses mal wird durch das Verwenden von mehreren Sub-Strahlen beim Auftreffen des Bildschirm Strahls auf das Objekt, eine Streuung geschaffen und so der Eindruck von weichen Schatten erzeugt. Die eng gestreuten Sub-Strahlen versuchen die Lichtquelle (nicht nur das Lichtzentrum) direkt zu erreichen. Einige der Sub-Strahlen werden neben der Lichtquelle auftreffen, sodass keine Illumination erfolgt. Nur wenn alle gestreuten Strahlen die Lichtquelle erreichen wird also die maximale Beleuchtung erreicht. Je mehr Strahlen als Sub-Strahlen verwendet werden, desto weicher ist der Schattenverlauf. In der Praxis reichen etwa Sub-Strahlen für einen realistischen Eindruck aus. Das Bild zeigt wie sich der Algorithmus auf die Schatten auswirkt. An den Schattengrenzen verläuft der Schatten nun nicht mehr hart, sondern in einem Übergang, da viele Punkte nun auch über die vom Lichtzentrum weiter entfernte leuchtende Hülle der Lichtquelle erreichbar sind bzw. dann doch nicht komplett ausgeleuchtet werden können, da nicht alle gestreuten Sub-Strahlen die Lichtquelle erreichen können. Quelle:

11 Evolution - Path Tracing
Path Tracing ist der momentan eingesetzte Standard in Ray Tracing. Hier wird neben diffusem Ray Tracing auch noch eine Photonmap vor Beginn des Ray Tracings erstellt. Die Photonmap ist eine einmalige Lichtausbreitungsberechnung von der Lichtquelle aus, mit wählbarer Granularität. Wie Beschleunigungsstrukturen muss die Photonmap bei einer Änderung des 3D-Modells neuberechnet werden. Mit der Photonmap wird die globale Illumination, auch Radiosity genannt, simuliert. Die Photonmap wird dann mit dem diffusen Ray Tracing überlagert. Das obige Bild zeigt, etwas übertrieben wohlgemerkt, wie beispielsweise der linke Schatten der hinteren spiegelnden Kugel einen orangen Farbton erhält und außerdem heller ist. Dies sind die Auswirkungen des abprallenden Lichts an der orangen Wand. Dagegen beinhaltet der Schatten der vorderen gläsernen Kugel eine Lichtfokussierung da das Licht durch die Glaskugel fokussiert wird. Quelle:

12 Ray Tracing vs. Zentralprojektion (CONTRA Ray Tracing)
Berechnungsintensiv 3D-Modell-Änderungen verringern Effizienz Schnelle Berechnung 3D-Modell-Änderungen haben geringe Auswirkung 3D-Grafikkarten bereits optimiert Die Gründe warum Ray Tracing nicht schon heute eingesetzt wird, sind auf dieser Folie ersichtlich. Warum Ray Tracing heute noch nicht eingesetzt wird: Berechnungsintensiv: Schon für kleinere Displays (1024x1024 = 1Mio Pixel = 1Mio Rays) sind aufwendige Berechnungen notwendig. Dazu kommt, dass modernere Verfahren von Ray Tracing Rays pro Pixel benötigen um weiche Schatten zu generieren. In Summe sind bei dem oben genannten Display, 25 Bildern pro Sekunde und den beispielsweise 10 Rays pro Pixel (1Mio * 25 * 10) = 250 Mio Rays pro Sekunde von der Bildschirmprojektionsfläche notwendig. Wenn man sich nun vorstellt, dass beim Auftreffen eines Strahls auf eine Fläche auch ein erneuter Sub-Strahl notwendig ist (z.b. Schattenberechnung mit mehreren Lichtquellen, Reflexion/Refraktion), dann kann dieser Wert schnell auf 250 Mio Rays pro Sekunde + weitere 250 Mio Sub-Rays wachsen. Die Berechnung eines Strahls ist nach wie vor eine komplexe Aufgabe und damit sind solche Dimensionen nicht einfach zu bewältigen. 3D-Modell-Änderungen: Um 3D-Modelle mit Rays effizient zu durchschreiten sind Beschleunigungsstrukturen essentiell. Bei einer Änderung des 3D-Modells, muss somit auch die Beschleunigungsstruktur aktualisiert werden, was momentan noch relativ viel Zeit kostet. Warum stattdessen Zentralprojektion verwendet wird: Schnelle Berechnung: Die mathematische Projektion ist sehr effizient. Das Durchschreiten des Raums ist unnötig. Es ist also ein Modell der Raumdarstellung, dass sich auf die reine Projektion von Flächen spezialisiert hat. 3D-Modell-Änderungen: Bei Änderungen des 3D-Modells sind nachher keinerlei Optimierungen durchzuführen. Beschleunigungsstrukturen sind, wenn überhaupt, nur unterstützend und nicht notwendig für die Ausführung. 3D-Grafikkarten optimiert: Die heutigen Grafikkarten sind für den Ablauf der Zentralprojektion bereits mehr als ein Jahrzehnt lang optimiert worden (historische Entwicklung). Warum sollte man also gerade jetzt auf Ray Tracing umsteigen, wenn doch gerade alles gut funktioniert?

13 Ray Tracing vs. Zentralprojektion (PRO Ray Tracing)
Anzahl der Objekte des 3D-Modells nicht relevant Realistische Darstellung Einfacher Algorithmus Höchst parallelisierbare Berechnungen Komplexität der Szene wächst mit Anzahl der Objekte im 3D-Modell Viele Workarounds notwendig um Realismus zu imitieren Teilweise Parallelisierbarkeit Die Gründe warum Ray Tracing auch schon heute sinnvoll wäre, sind auf dieser Folie dargestellt. Warum könnte Ray Tracing auch heute bereits sinnvoll sein: Anzahl der Objekte: Grundsätzlich ist Ray Tracing unabhängig von der Anzahl der Objekte im 3D-Modell, denn auch wenn 1 Mio Objekte im Raum sind, werden durch den Einsatz der Beschleunigungsstruktur nur ein Bruchteil davon tatsächlich auf Kollision mit dem Strahl geprüft. Einziges Limit in dieser Hinsicht ist die Speichergröße um die Objekte im Speicher zu halten. Der Algorithmus selbst hat mit vielen Objekten keine Probleme. Um dennoch die Anzahl der Objekte zu verkleinern sind auch komplexere Vektorobjekte (Kugel, Pyramiden, oä) denkbar, denn mögliche Schnittpositionen mit dem Strahl können nach wie vor geprüft werden. Allerdings werden Dreiecke mit hoher Wahrscheinlichkeit auch zukünftig eine dominante Rolle in 3D-Modellen spielen, da sie einen hohen Detailgrad einer Welt ermöglichen. Realistische Darstellung: Auch wenn Ray Tracing nicht originalgetreu dem Licht (Photonen) nachempfunden ist, bildet es doch die wesentlichsten Konzepte des Lichtflusses ab (und zwar in umgekehrter Weise). Dies hat zur Folge, dass das Bild sehr naturgetreu wirkt, da die Lichteinflüsse das Wesentliche eines Bildes sind. Einfacher Algorithmus: Ein einfaches und standardisiertes Programm kann nun für die Farbverarbeitung einer Oberfläche verwendet werden (Shader). Jedes getroffene Objekt ist also nur für sich selbst und der ordnungsgemäßen Weiterverarbeitung des eingetroffenen Strahls verantwortlich. Parallelisierbarkeit: Aufgrund dessen, dass jeder Strahl für sich genommen isoliert betrachtet werden kann (Strahlen können sich gegenseitig nicht beeinflussen), ist eine Parallelisierung sinnvoll. Je mehr Cores/CUDA-Einheiten ein Rechner hat, desto schneller sind also auch Ray Tracing-Bilder zu erzeugen. Warum sollte Zentralprojektion heute nicht mehr eingesetzt werden: Steigende Berechnungskomplexität mit Anzahl der Objekte: Für alle im sichtbaren Bereich befindlichen Dreiecke muss die 2D-Abbildung durchgeführt werden. Bei heutigen 3D-Modellen nimmt das bereits mehrere Millionen Dreiecke pro Szene in Anspruch. Um überhaupt solche Szenen zu visualisieren, wird das 3D-Modell vor dem Rendering mit Culling beschnitten um nicht zuviel berechnen zu müssen. Die Anzahl der Objekte korreliert somit mit der Schnelligkeit des Projektionsalgorithmus. Workarounds für Realismus: Für die Beleuchtung der Szene sind viele Workarounds notwendig. Dies hat Einfluss auf die Shader-Programme, die dann je nach Situation entsprechend verändert werden müssen oder sonstige Ausnahmen beinhalten. Teilweise Parallelisierbarkeit: Grundsätzlich muss der Algorithmus die Dreiecke von weiter hinten in der Szene zuerst berechnen, und sich bis zu den Dreiecken am nähesten beim Betrachter heranarbeiten. Dies kann aber optimiert werden, sodass eine Parallelisierung grundsätzlich möglich ist. Jedoch sieht der Algorithmus selbst aufgrund der abhängigen Verdeckung von Dreiecken keine Parallelisierung vor.

14 2. Aktueller Stand Inwieweit ist real time Ray Tracing heute schon möglich? Bild: Beispiel eines offline (nicht real-time) gerenderten Ray Tracing Bildes Quelle:

15 Technische Umsetzung Mit existierender Hardware
Software auf CPU (Intel-MIC / Daniel Pohl) Software auf GPU (nVidia Optix / Andreas Dietrich) Software auf anderen Prozessoren (Cell) Mit neuer Hardware (RPU/SaarCOR, Uni Saarbrücken) Um Ray Tracing auf Rechnern umzusetzen, kommen derzeit 4 verschiedene Systeme infrage. Mit existierender Hardware CPU: Die ersten Umsetzungen von Ray Tracing passierten auf der CPU, da sie die notwendige Flexibilität bietet. Insbesondere für die Erforschung der Thematik ist dies von Vorteil. Im weiteren Verlauf ist jedoch die Behäbigkeit bei der Umsetzung der Parallelisierung (Multicore-Architekturen) ein Problem, dass CPUs momentan zu wenig interessanten Plattformen für Ray Tracing macht. GPU: GPUs wurden erst in den letzten Jahren fähig derart flexibel programmierbar zu sein, dass Ray Tracing darauf überhaupt möglich ist. Dabei wird die Hardware aber nicht entsprechend ihrer Auslegung (Grafikpipeline) verwendet, sondern lediglich die hoch parallelisierten Recheneinheiten (Shader). Aktuelle hochperformante Grafikkarten besitzen zum Beispiel etwa 3000 parallelisierte Recheneinheiten. Abstriche muss man hier aber in Sachen Flexibilität machen, denn diese simpleren Recheneinheiten können nicht gut organisiert werden. Ein komplettes Ray Tracing, ohne einer komplexeren Management-Einheit, wäre somit auf einer GPU undenkbar. Cell: Der Cell-Prozessor von IBM hat bereits früh Multikern-Architekturen auf CPU-Ebene integriert. Dies hat zur Folge, dass hohe Parallelisierung und hohe Flexibilität möglich sind. Wegen des hohen Aufwands der Software-Entwicklung für diesen Prozessor war der Cell-Prozessor kein Erfolg und wurde auch nicht weiterentwickelt. Diese Art von Prozessoren gehen aber in die richtige Richtung um Ray Tracing effizient zu erledigen. Mit neuer Hardware könnte man eine ideale Anpassung an die Aufgaben des Ray Tracing vornehmen. Es gab bereits derartige Projekte, die mit rudimentärer, jedoch angepasster Hardware, eine bessere Effizienz erzielen können als damalige CPUs. Leider stehen hier keine ausreichend detaillierten Untersuchungen zur Verfügung, aber klar ist, dass eine optimierte Hardware die beste Performance erzielen kann.

16 Standardszene - Conference
Statische Szene 282k Dreiecke Übliche Referenz Diffuses Rendering 2009 Intel MIC (24 cores) -> 36MRays/s -> Um die nun folgenden Gegenüberstellungen der Hardware-Realisierungen vergleichbar zu machen, bedienen wir uns einer weit verbreiteten Standardszene namens „Conference“. Sie ist keine eigens für Ray Tracing erstellte Szene, sondern wird auch für Zentralprojektionanalysen verwendet. Sie besitzt keine Animationen und besteht aus vergleichsweise wenigen Dreiecken. Trotz ihrer Bekanntheit wird sie jedoch nicht von allen Forschern als Referenz angesehen und so macht es einen Vergleich von Hardwareumsetzungen noch schwieriger. Einige Forscher verwenden sogar proprietäre Szenen und machen so ihr Versuchsergebnis nicht nur nicht nachvollziehbar, sondern auch unvergleichbar mit anderen Technologien. Es gibt auch andere Szenen, die gern für Ray Tracing Tests eingesetzt werden, aber Conference wurde hier ausgewählt, weil sie die meistverwendete Referenz von Forschern ist. Das dargestellte Video zeigt diffuses real-time Ray Tracing dieser Szene aus dem Jahre Dazu wurde eine sich in Entwicklung befindende Intel CPU verwendet, die 24 Kerne besitzt. Der Ersteller des Videos behauptet in der Beschreibung des Youtube-Videos, dass damit 36Mio Rays pro Sekunde zu berechnen wären. Das führt in der verfügbaren Auflösung des Videos von 360x354 Pixel zu 17 Bildern pro Sekunde. Das Video selbst ruckelt aber sehr und enthält nur gefühlte 5 Bilder pro Sekunde. Aufgrund der fehlenden Dokumentation, dient dieses Beispiel also nicht als glaubhafte Referenz für Ray Tracing auf einer CPU. Quelle:

17 Effizienz für Conference-Szene
Technik Mega Rays/s 1024 Pixel x 1024 Pixel x 10 rays per 25 fps ~260 HD1080: 1920 x 1080 x 60 ~2500 CPU [JS2004] ~1,6 CPU (qwrt, non-std) [DP2009] ~46 CPU (wolfrt, non-std) [DP2012] ~26 GPU [AL2009] ~142 GPU [SP2010] ~193 Cell [HF2006] ~240 SaarCOR / RPU [SW2006] ~3,2 / ~1 In der Tabelle werden einige Eckdaten und die technische Machbarkeit für Hardwaresysteme bei der Verwendung von Ray Tracing dargestellt. Um sich Ray Tracing und dessen Aufwand zu verbildlichen wird gern der fiktive 1024x1024 Pixel Bildschirm verwendet, da er rechnerisch auf einem Blick etwa eine Million Pixel hat. Für den Einsatz von diffusem Ray Tracing werden 10 Sub-Strahlen pro Pixel angenommen. Um bewegende Bilder wahrzunehmen sind mindestens 25 Bilder pro Sekunde notwendig. Dies führt zu einer notwendigen Rechenleistung von 250 Mio Rays pro Sekunde für ein bewegtes Bild. Für die Auflösung von modernen Bildschirmen, also beispielsweise für 1920x1080 (ein üblicher HD Standard bei Fernsehern) und Verwendung von weicheren Schatten mit 20-fach diffusem Ray Tracing und bei 60 Bildern pro Sekunde, das übliche LCD-Bildschirmlimit und für flüssigere Bewegungen, ist somit bereits eine notwendige Leistung von 2500 Mio Rays pro Sekunde notwendig. Es sind Tests auf den 4 vorgestellten Hardwarelösungen in den vergangenen Jahren durchgeführt worden und werden auch hier aufgeführt. Hier muss bemerkt werden, dass die CPU-Recherche in den Jahren 2009 und 2012 sich nicht auf die Conference-Szene beziehen und so genaugenommen mit anderen Daten nicht vergleichbar sind. Weiters kommt hinzu, dass die Daten für die CPU aus 2009 nicht besonders aussagekräftig sind, da die Dokumentation des Tests sehr nachlässig gewählt wurde. Bei der Annahme, dass die Daten jedoch vergleichbar sind, sieht man jedoch, dass Lösungen der CPU der GPU wie erwartet unterlegen sind, da die GPU eine höhere Parallelisierungsfähigkeit aufweist. Der optimierte Cell Prozessor scheint allerdings noch schneller als die GPU zu sein, da die Hardware ja optimiert für derartige Tätigkeiten ist. Die selbst entwickelten Hardware-Lösungen der Uni Saarbrücken haben aufgrund der nicht aussagekräftigen Analysen hier keinen besonderen Stellenwert eingenommen. Auch in Sachen Performanz zeichnet sich keine Dominanz gegenüber CPUs ab. Im Paper selbst wird aber eine überragende Performanz gegenüber CPUs bescheinigt. Allerdings ist auch klar, dass die dortig verwendeten Hardware-Komponenten nicht vergleichbar mit damals verfügbaren ausgereiften CPUs waren. Eine Normalisierung beider verglichenen Technologien, also CPU und Selbstfertigung, wurde nicht vorgenommen. Somit können die Daten streng genommen nicht vergleichend behandelt werden. Dennoch sollen sie hier der Vollständigkeit wegen erwähnt werden.

18 3. Herausforderungen Welche Herausforderungen ergeben sich in den kommenden Jahren, damit Ray Tracing eingesetzt werden kann? Bild: Beispiel eines offline (nicht real-time) gerenderten Ray Tracing Bildes Quelle:

19 Beschleunigungsstruktur
Gut für statische Szenen Neuberechnung hinderlich für bewegende Szenen Eigenes Forschungsgebiet Momentane Vorstoßrichtung: Hierarchie-Bäume (BVH) Ein eigenes Forschungsgebiet stellen die Beschleunigungsstrukturen für Ray Tracing dar. Wie erläuert muss hier szenenbasiert eine Abwägung zwischen schnellem Lesen und schnellem Schreiben von Strukturen gemacht werden. Themen für diesen Bereich sind zum Beispiel: Ist grundsätzlich eine Neuberechnung oder Update der Struktur effizienter? Wie kann man effizient einen Baum neu balancieren nachdem neue Objekte in das 3D-Modell eingefügt/entfernt wurden? Welche Modell-Änderungen bedingen eine Neuberechnung, da sonst die gesamte Struktur nur ineffizient aktualisiert werden kann? Die Industrie hat sich momentan eher auf Bounding Volume Hierarchies festgelegt, da sie besser zu kontrollieren sind im Hinblick auf die Granularität. Derzeit wird in der Forschungsszene dem Problem der Optimierung von Beschleunigungsstrukturen einigermaßen Aufmerksamkeit gewidmet.

20 Diffuses Raytracing Etablierte Methode für weiche Schatten
Benötigt Rays pro Pixel Keine Forschung Diffuses Ray Tracing stellt wegen seiner hohen Ansprüche, dem Sub-Strahlmultiplikator, eine hohe Belastung für die Hardware dar. Dennoch wird dieser Algorithmus als unverrückbar angesehen. Es findet hier laut meiner Recherche so gut wie keine Forschung statt um weiche Schatten auch anders zu erstellen. Die mangelnde Effizienz in diesem Bereich wird nicht hinterfragt. Somit stellt sich dieser Bereich als interessantes Forschungsgebiet interessant dar.

21 Hardwaretransition 1/3 Veränderte Grafikpipeline notwendig 20.9.2012
Aufgrund der Probleme die Ray Tracing mit bestehender Hardware hat, ist anzunehmen, dass sich Hardware-Änderungen durchsetzen werden, die Ray Tracing zumindest effizienter ermöglichen. Diese Transition zwischen der jetzigen auf Zentralprojektion fixierten Hardware, und einer Hardware, die auch Raytracing gut unterstützt, wird in den nächsten 3 Folien behandelt. Die Exklusivität für Zentralprojektion, die die Grafikpipeline bis dato genießt, führte zu einer Optimierung auf Hardware-, wie auch auf Software-Seite. Im Bild ist die für DirectX 11 standardisierte Grafikpipeline sichtbar. Zu bemerken ist, dass die Modelloperationen, bis inklusive dem Geometry Shader, auch für Ray Tracing sinnvoll sind. Die Komponenten „Rasterizer“ (die Projektion selbst) und „Pixel Shader“ (Oberflächenfarbenberechnung von Objekten) sind dagegen für Ray Tracing komplett unterschiedlich ausgeführt. Konkret müsste der Rasterizer durch hoch paralleliserte Ray Tracer Einheiten ersetzt und der Pixel Shader standardisiert und massiv vereinfacht werden. Quelle:

22 Hardwaretransition 2/3 GPU vs CPU - Rennen GPU CPU
Shader müssen verwaltbarer werden (mehr Flexibilität) Dualpurpose-Pipeline (Raytracing, Zentralprojektion) Sinnvoller in der Umsetzung (Aufwand der Grafik -> GPU als Grafikeinheit des PCs) CPU mehr Cores notwendig Cores für Grafik oder Cores für Gameloop? Im Moment werden die bestehenden Hardwaretechnologien, also CPU und GPU, so effizient wie möglich ausgenutzt und weiterentwickelt. Es entwickelt sich hier sozusagen ein Rennen zwischen diesen beiden Konzepten. Es gibt jedoch konzeptionelle Probleme bei beiden Technologien. Die GPU müsste mehr Managementfähigkeiten aufweisen um Ray Tracing isoliert auf der GPU durchführen zu können. Weiters stellt sich die Frage wie der Konsument diese neuen Fähigkeiten der GPU verwenden kann, also ob eine komplett eigenständige Hardware notwendig sein wird, oder ob eine GPU fähig sein wird für Zentralprojektion und Ray Tracing zur Verfügung zu stehen. Die Marktdurchdringung dürfte mit einer eigenen für Ray Tracing anzuschaffenden Karte entsprechend gering sein. Auch ist hier zu beachten, dass wenn zukünftig nurmehr Karten für Ray Tracing erstellt werden sollten, ein Systembruch stattfindet, da alte Software nicht mehr auf der neuen Hardware lauffähig sein wird. Grundsätzlich ist der Einsatz von Ray Tracing auf der GPU sinnvoller, da die Grafikeinheit ohnehin schon aufgrund ihrer Anforderungen in jedem PC einen besonderen Stellenwert erhält und dies sich auch für Ray Tracing nicht ändern wird. Außerdem ergeben die vorher gezeigten Tests, dass bereits heute GPUs den CPUs in Sachen Ray Tracing leistungstechnisch überlegen sind. CPUs sind flexibel im Aufbau und können somit ideal dem notwendigen Rahmen von Ray Tracing angepasst werden. Diese Flexibilität ist es aber, die die Entwicklung von Paralleliserung für CPUs schwerer macht. Die Recheneinheiten für Ray Tracing müssen keine außergewöhnlich flexiblen Tätigkeiten erledigen, somit ist eine Parallelisierung auf der CPU viel zu mächtig für Ray Tracing. Im CPU-Bereich wird bereits an manycore-Architekturen gearbeitet, aber die Entwicklung kann mit der Parallelisierung von GPUs nicht mithalten. Weiters stellt sich die Frage ob die zusätzlichen Kerne der CPU nicht besser in andere Prozesse der Gameloop investiert werden können, die die Flexibilität besser ausnützen würden, wie beispielsweise künstliche Intelligenz.

23 Hardwaretransition 3/3 Intel, AMD/ATI, Nvidia arbeiten bereits daran
Paradigmenwechsel schon bei Programmierung(OpenRT) ohne Massenmarkt zu verlieren! -> Industriestandard notwendig Die Forschungsbereiche bei Intel und Nvidia arbeiten bereits an Ray Tracing Lösungen. Insbesondere Nvidia stellt mit seinem Optix-Framework bereits alles zur Verfügung um Ray Tracing auf GPUs durchzuführen. AMD hat mit Cinema 2.0 auch in diese Richtung gearbeitet. Intel verfolgt ein many integrated core (MIC) Konzept, das viele Kerne auf CPUs möglich machen soll. Zuwenig betrachtet wird allerdings neben den Frameworks der unterschiedlichen Hersteller, auch einen geeigneten Programmier-Standard für Ray Tracing Software zu schaffen, wie das bei DirectX/OpenGL der Fall ist. Vor Jahren wurde bereits mit OpenRT durch die Universität Saabrücken ein Schritt in diese Richtung gemacht. Ob und inwieweit dieser Standard aber als Referenz von Herstellern aufgegriffen wird ist nicht bekannt.

24 Kosten - Nutzen Rechenmehraufwand Viel weniger Programmieraufwand
Umstellung Hardware (Herstellerseite) Umstellung neue Schnittstelle (OpenRT o.ä.) Umstellungsperiode (Unterstützung bei Kunden garantieren) Viel weniger Programmieraufwand Fokus auf andere Gebiete möglich Realistische Darstellung (keine Approximationen mehr) Zukunftsfähige Lösung Diese Folie soll die Marktchance für Ray Tracing analysieren. Kosten Rechenmehraufwand: Nicht jedem Anwender wird eine realistischere Grafik, Abstriche in der Auflösung wert sein, denn Zentralprojektion bleibt nach wie vor eine effizientere Methode um 3D-Modelle zu rendern. Umstellung Hardware: Eine Umstellung der Hardware schließt beispielsweise die Neuentwicklung der Grafikpipeline und die notwendigen Konzeptänderungen mit ein. Wenn eine Dualpurpose-Lösung (also Zentralprojektion und Ray Tracing auf derselben Hardware) verfolgt werden soll, ist hier der Aufwand größer. Umstellung Schnittstelle: Aufgrund dessen, dass das Ray Tracing Konzept bereits sehr gut durchdacht ist, ist eine Entwicklung einer standardisierten Ray Tracing Programmierschnittstelle sinnvoll. Es ist also eine Erweiterung oder Neuentwicklung von OpenRT als Standard notwendig. Umstellungsperiode: Für Ray Tracing neu entwickelte Software kann erst ausgeliefert werden, wenn bereits die notwendige Hardware existiert. Das ist praktisch gesehen unmachbar, denn es wird immer Benutzer geben, die nicht die dafür minimal notwendige Hardware besitzen. Wie damals bei Zentralprojektion auch, kann man aber Fallback-Szenarien auf die CPU einrichten, die bei nicht Vorhandensein der notwendigen Grafikeinheiten, die Berechnungen auf der CPU durchführt. Nutzen Weniger Programmieraufwand: Durch die vereinheitlichten Shaderprogramme, sind für die Entwicklung von Software keine Spezialprogrammierungen mehr notwendig, sei es wenn die Engine dies für das Programm erledigt, oder wenn es um das Verwenden der Engine selbst geht. Dies reduziert auch das notwendige Knowhow um qualitativ hochwertige Bilder zu erzeugen. Fokus: Die freiwerdenden Ressourcen für die Grafik können also für andere Gebiete bei der Entwicklung eingesetzt werden. Im Bereich der Spieleprogrammierung wären das etwa bessere künstliche Intelligenz, bessere Geschichtserzählung, bessere Animation oder einfach Budgetminimierung. Realistische Darstellung: Der wesentliche Grund für Ray Tracing ist der Zugewinn an Realismus im Bild. Das natürliche Licht funktioniert nach wie vor etwas anders, aber der Grundprozess von Strahlen ist derselbe und somit ist das Grundprinzip von Ray Tracing sinnvoll für eine realistischere Darstellung. Zukunftsfähig: In absehbarer Zeit wird der Markt einen höheren Realismus erwarten und dies stellt einen Innovationsdruck für neue Produkte dar. Der technische Fortschritt selbst bietet auch das beste Argument, dass Ray Tracing in Zukunft eingesetzt wird. Die Rechenkapazität steigt seit Jahrzehnten hinweg unentwegt, und so wird Ray Tracing in Zukunft zwar der rechenlastigere aber programmiertechnisch gesehen einfachere Weg sein, und auch eingesetzt werden.

25 4. Zukunft Wie wird sich Ray Tracing in den nächsten Jahren entwickeln? Auf den folgenden Folien sollen Anhaltspunkte angeführt werden, die darauf hindeuten, dass Ray Tracing eine nahe abzusehende Entwicklung darstellt. Bild: Beispiel eines offline (nicht real-time) gerenderten Ray Tracing Bildes Quelle:

26 Allgemein Hinweise - Papers
„Realtime ray tracing can become a viable alternative graphics technology if it can be offered within a single desktop computer” – Jörg Schmittler et al [JS2004] “.. given the lead times in game and hardware development, it seems that the time may be right to explore ray tracing based games..” – Heiko Friedrich et al [HF2006] “With advances in CPU hardware and increased availability of parallel machines .. , ray tracing has reached a stage where it is no longer limited to only off-line rendering.“ – Ingo Wald et al [IW2007] Auf dieser Folie finden sich Statements aus Publikationen von 3 Forschern. So sagen Jörg Schmittler et al, dass realtime Ray Tracing eine echte Alternative wäre, sollte es auf einem Desktop PC möglich sein. Wie dies gemacht wird, wird ausgelassen. Es gibt beispielsweise heute schon cloud-basierte Renderdienste, die auch dieses Kriterium erfüllen (siehe Daniel Pohl bei Intel). Es werden also keine Prognosen der Technik, sondern eher des Hersteller- oder Kundenverhaltens gemacht. Heiko Friedrich et al sagen, dass aufgrund der Entwicklungszeit von Spielen, es im Jahr 2006 bereits sinnvoll wäre sich als Spieleentwickler mit Ray Tracing zu befassen um künftige Trends zu erfassen. Entwicklungszeiten in der Spielebranche bewegen sich zwischen wenigen Monaten bis maximal 5 Jahre für großfinanzierte Titel. Längere Entwicklungszeiten sind eher die Ausnahme. Somit sollten laut dieser Aussage bereits Spiele am Markt sein, die Ray Tracing in irgendeiner Form einsetzen. Dies trifft zu, denn moderne Spiele-Engines setzen bereits Radiosity, also Techniken der globalen Illumination, ein. Ein voll mit Ray Tracing gerendertes Spiel, gibt es jedoch noch nicht. Somit könnte man die Aussage als überschätzt bewerten. Ingo Wald et al machen bereits eine wegweisende Andeutung, dass der kommende technologische Fortschritt real-time Ray Tracing auf Desktop PCs möglich macht.

27 Allgemein Hinweise - Industrie
„There are too many things [about rasterization] that we’ve suffered with, especially for shadows and environment mapping. We live with hacks that ray tracing can let us do much better.” – John Carmack [JC2011] Intel, AMD/ATI, Nvidia arbeiten bereits an Raytracing- Unterstützung Radiosity in Zentralprojektion als Vorbote von Raytracing Auf dieser Folie werden die Zeichen der Industrie interpretiert. John Carmack, Gründer von id-Software, Entwickler der ersten echten 3D-Engine, und Entwickler von Spielen wie Castle Wolfenstein 3D, Doom uvm, sagte erst kürzlich in einem Interview, dass Rasterisierung (also Zentralprojektion) zuviele „hacks“ besitzt, die mit Ray Tracing alle überflüssig wären. Es wird also bereits laut von Entwicklergrößen über Ray Tracing nachgedacht. Eine Prognose wann Ray Tracing aber in der Industrie interessant wird, ist hier nicht zu finden. Chip-Entwickler-Größen arbeiten bereits an Ray Tracing-Unterstützung ihrer Plattformen. Das prominenteste Beispiel ist Nvidia, die ein eigenes Framework namens Optix bereits mehrjährig für alle zur Verfügung stellen, um Applikationen damit zu entwickeln. Intels MIC (many integrated cores) Architektur zielt unter anderem darauf ab, hochparallelisierfähige Aufgaben, wie zum Beispiel Ray Tracing, auf der CPU zu ermöglichen. AMD/ATI hatte diesbezüglich im Jahr 2008 eine Software oder ein Konzept namens Cinema 2.0 groß angekündigt, von dem man nachher aber nicht mehr viel gehört hat. Nichtsdestotrotz ist das ein sehr wichtiges Zeichen, dass bereits große Chiphersteller sich an der Forschung zu Ray Tracing beteiligen, denn ein Unternehmen arbeitet grundsätzlich gewinnorientiert und sieht somit einen möglichen Profit in der Unterstützung dieser Forschung. In den letzten Jahren sind in großen Engines (cry engine 3, frostbite 2, u.a.) bereits Radiosity-Verfahren miteingeflossen. Dies ist nicht nur ein visueller Erfolg, sondern deutet auch darauf hin, dass Teile des Ray Tracings bereits in bestehende Zentralprojektionsalgorithmen miteingearbeitet werden, es somit bereits möglich ist solche Verfahren in Spielen einzusetzen. Wie genau die technische Umsetzung in diesen Engines passiert, ist jedoch nicht bekannt, somit könnte es sich unter Umständen wieder nur um einen „Hack“ handeln. Dennoch zeigt hier die Industrie abermals, dass ein Wunsch nach realistischerer Grafik im Markt vorhanden ist.

28 Maximal sinnvolle Auflösung
Auge: 120 MegaPixel (Stäbchen) -> z.B x 8000 Pixel Bildschirm Raytracing: 120 MP x fps = 144 Giga Rays/s Spezifikation: WHUXGA = 7680 x 4800 P = 36MP Auf den nächsten 3 Folien folgt eine eigene Analyse, wann real time Ray Tracing einsatzfähig wäre. Die aktuelle Entwicklung der Grafikkarten zielt im wesentlichen darauf ab, für eine immer größere Auflösung das Rendering durchzuführen. In Sachen Effizienz ist hier Ray Tracing immer im Nachteil, da die Zentralprojektion schlichtweg schneller ist. Auch bei vielen Objekten in der Szene, sind geeignete Techniken für Zentralprojektion vorhanden um die Objekte derart zu reduzieren, dass die Projektion schnell von statten geht. Ein hartes Limit für den derzeitigen Trend stellt die maximal sinnvolle Auflösung eines Bildschirms dar. Apple hat diesen Trend beispielsweise bereits erkannt und spricht von Retina-Displays, also Bildschirmen bei denen das menschliche Auge die einzelnen Pixel in einer benutzungsüblichen Distanz nicht mehr unterscheiden kann. Diesen Denkansatz kann man auch für Ray Tracing übertragen und als spätestmöglichen Einsatzzeitpunkt für Ray Tracing wählen. Die grundlegenden Fakten sind, dass das Auge auf der Netzhaut 120 Mio Stäbchen besitzt um Konturinformationen wahrzunehmen. Farbinformationen werden mit ein paar zusätzlichen Millionen Zäpfchen wahrgenommen. Somit besitzt das Auge eine Auflösung von 120 MegaPixel. Um sich diese Zahl zu verdeutlichen, wird dies mit einem fiktiven Bildschirm von der Größe 15000x8000 Pixel angegeben. Ray Tracing würde für eine 120Mio Pixel Auflösung, dem diffusen Ray Tracing mit dem Faktor 20, und bei 60 Bildern pro Sekunde für flüssige Bilder, eine Rechenkapazität von 144 Giga Rays pro Sekunde benötigen. Dies ist zwar nur eine grobe Schätzung, jedoch bietet sie nun einen Anhaltspunkt für weitere Prognosen. Diese Rechenkapazität ist also notwendig, um maximale Immersion für einen Betrachter herzustellen, denn dann wird jedes Stäbchen des Auges mit einem gerenderten Pixel bedient. Diese Größe von Display ist beispielsweise noch gar nicht definiert. Die derzeitige maximale Definition umfasst 36 MegaPixel. Alle Definitionen über 120MegaPixel müssen jedoch kritisch hinterfragt werden, denn damit überschreitet man bereits die Wahrnehmungsgrenze des Menschen.

29 Moore‘s Law Gordon Moore 1965 / Intel
Alle 2 Jahre -> Verdopplung der Transistorzahl Um nun eine Prognose für den technologischen Fortschritt zu finden, bedienen wir uns Moore‘s Law, einem bekannten Gesetz über das Transistoranzahl-Wachstum auf Chips. In der 40-jährigen Existenz des Gesetzes, hat es bereits vielfach korrekt den Verlauf des technologischen Fortschritts vorhergesagt, also ist zu erwarten, dass dies auch noch für die kommenden Jahre korrekt sein wird. Nachdem die Geschwindigkeit von real time Ray Tracing direkt von der Rechenkapazität abhängt, kann Moore‘s Law auch auf die Entwicklung für Ray Tracing übertragen werden. Es gibt mehrere Interpretationen fürs Moore‘s Law. In dieser Prognose wird der Ansatz gewählt, dass alle 2 Jahre eine Verdopplung der Transistoranzahl, also auch eine Verdopplung der Rechengeschwindigkeit stattfindet. Quelle:

30 Moore‘s Law in Raytracing
Wendet man nun Moore‘s Law auf die bereits bestehenden Ausgangsdaten für CPU, GPU und Cell Prozessoren an, so erkennt man, dass mit Cell bereits 2013 eine Umsetzung von HD1080 möglich wäre. Cell steht in diesem Zusammenhang für einen optimierten Prozessor der Ray Tracing sehr gut unterstützt. Mit der heutigen GPU-Technologie wäre im Jahr 2018 HD1080 möglich. CPUs würden dagegen bis etwa 2026 benötigen. Die maximal sinnvolle Auflösung (120 Mega Pixel) wären mit einer optimierten Hardware im Jahre 2025 erreichbar, GPU 2030 und CPU 2037. Trotz dieser Prognose sei noch bemerkt, dass eine technische Machbarkeit, noch keinen Einsatz rechtfertigt. Bis dass man mit einer technologischen Studie, tatsächlich marktreife Produkte entwickeln kann, vergehen nochmals einige Jahre an Entwicklungszeit. Weiters handelt es sich hier um statische Szenen. Um dynamische Szenen zu Ray Tracen müssen beispielsweise die Beschleunigungsstruktur und Photonmap stets aktuell gehalten werden. Auch wenn dies nicht bei jedem Frame passiert und bei den besprochenen Auflösungen nicht mehr eine derartige Auswirkung hat, sei es dennoch bemerkt, dass dies hier fehlt. Quelle: eigene Erstellung

31 Fazit 1 Raytracing ist die langfristig sinnvolle Alternative gegenüber Zentralprojektion Zentralprojektion bleibt als Approximation immer günstiger, aber SW-Hersteller (Spielemarkt) müssen sich zunehmend mit unnötiger Programmierung konfrontieren (-> Druck auf Wechsel) Spezielle HW wird sich etablieren (Cell-ähnlich) und so Leistung voll ausschöpfen erreicht diese HW laut Moore‘s Law die Reife für Augen-Auflösung (120MP). Abschließend sind folgende Schlüsse zu ziehen. Ray Tracing ist, insbesondere unter dem Gesichtspunkt des technologischen Fortschritts beim Rechenvermögen von Prozessoren, langfristig die einfachere und sinnvollere Alternative. Zentralprojektion hat seine Daseinsberechtigung als günstige Approximation. Software-Hersteller sehen sich aber zunehmend dem Druck des Spielemarkts der schnelleren Entwicklung von Spielen, und auch dem Wunsch der Konsumenten nach realistischerer Grafik ausgesetzt. Beides ist möglich durch den Einsatz von Ray Tracing mit den Kosten der geringeren Effizienz beim Rendering. Wann dieser Druck so groß wird, dass Ray Tracing schließlich eingesetzt wird, kann hier nicht abgeschätzt werden, aber der Druck existiert. Die Analysen zeigten, dass weder die heutige CPU noch GPU die optimale Hardware für Ray Tracing stellen. Sollte tatsächlich ein Markt für Ray Tracing entstehen, ist mit sehr hoher Wahrscheinlichkeit die Entwicklung einer eigenen Chipreihe für Ray Tracing zu rechnen, die Cell-ähnlich die Verarbeitung von Ray Tracing optimiert. Eine Dualpurpose-GPU, die Zentralprojektion für Backward-Kompatibilität und Ray Tracing unterstützt ist hier die wahrscheinlichste Variante. Diese neu entwickelte Hardware könnte somit im Jahr 2025 für 120MegaPixel Ray Tracing für statische Szenen betreiben.

32 Fazit 2 Schnelle Beschleunigungsstruktur-Updates sind lösbar (insb. mit schnellerer HW) -> 2025 wahrscheinlicher Umstieg auf Raytracing (eher früher wegen Realismus-Programmieraufwand durch Hersteller) Weitere Schlussfolgerungen sind. Die Beschleunigungsstrukturen stellen für dynamische Szenen einen wichtigen Eckpunkt dar. Die Berechnungsdauer der Strukturen mag heutzutage noch groß im Verhältnis zu der Berechnungsdauer der Anzahl der notwendigen Rays sein. Doch mit wachsender Anzahl der Rays, wird die Berechnungsdauer der Struktur vernachlässigbar klein. Somit wird das Problem der dynamischen Szenen von Jahr zu Jahr kleiner. In Summe entsteht somit der Eindruck, dass spätestens 2025 Ray Tracing mit 120 MegaPixel, also Auflösung des menschlichen Auges, der Zentralprojektion den Rang ablaufen wird. In Anbetracht dessen was die GPU-Hersteller in den letzten 12 Jahren geleistet haben, kann man ihnen auch diesen Techniksprung und eine Neuentwicklung von Hardware speziell für Raytracing zutrauen. Insbesondere wenn schon in den letzten Jahren der Fokus auf Raytracing von Nvidia selbst gelegt worden ist.

33 Weiterführende Information für Interessierte
Präsentation verfügbar unter Website Prof. Sturm Exploring the Use of Ray Tracing for Future Games – Heiko Friedrich et al OptiX: A General Purpose Ray Tracing Engine – Steven Parker et al – Nvidia Ray Tracing Deformable Scenes Using Dynamic Bounding Volume Hierarchies – Ingo Wald et al SIGGRAPH – Heiko Friedrich et al: Allgemeiner Einstieg in das Thema Raytracing + Probleme + Zukunftsperspektive Optix: Nvidia verfolgt Raytracing sehr intensiv; Einstieg in dieses Framework Ingo Wald et al: BVH, das derzeitige Beschleunigungsmodell für dynamische Szenen SIGGRAPH: Weltbekannte Konferenz rund um Computergrafik und unter anderem natürlich auch wichtige Raytracing-Plattform

34 Referenzen 1 [JS2004] - Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip – Schmittler et al [HF2006] - Exploring the Use of Ray Tracing for Future Games – Heiko Friedrich et al [SW2006] - RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing – Sven Woop et al [DP2009] – Quake Wars gets ray traced - Intel [AL2009] - Understanding the Efficiency of Ray Traversal on GPUs – Aila/Laine – Nvidia

35 Referenzen 2 [IW2007] - State of the Art in Ray Tracing Animated Scenes – Ingo Wald et al [SP2010] - OptiX: A General Purpose Ray Tracing Engine – Steven Parker et al – Nvidia [JC2011] - Carmack-Interview-gPu-Race-Intel-graphics-Ray-Tracing- Voxels-and-more/ [DP2012] – Experimental Cloud‐based Ray Tracing – Intel


Herunterladen ppt "Wann wird dynamisches Echtzeit-Raytracing für den Massenmarkt verfügbar? Alexander Stromer SS2012 / 20.9.2012 / Universität Trier alexander@stromer.me."

Ähnliche Präsentationen


Google-Anzeigen