350 likes | 467 Views
Wann wird dynamisches Echtzeit- Raytracing für den Massenmarkt verfügbar?. Alexander Stromer SS2012 / 20.9.2012 / Universität Trier alexander@stromer.me. Quelle: http://www.youtube.com/watch?v=bn_9_Zsjuwc. Zentralprojektion. Heute übliches Verfahren in Grafikkarten. Ray Tracing.
E N D
Wann wird dynamisches Echtzeit-Raytracing für den Massenmarkt verfügbar? Alexander Stromer SS2012 / 20.9.2012 / Universität Trier alexander@stromer.me
Zentralprojektion • Heute übliches Verfahren in Grafikkarten
Ray Tracing • Rendering-Algorithmus für 3D-Szenen • Lichtstrahl nachempfunden
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 Beschleunigungsstrukturen Schreibgeschwindigkeit
Gängige Beschleunigungsstrukturen • kd-Baum • Bounding Volume Hierarchies Quelle: http://de.wikipedia.org/wiki/K-d-Baum Quelle: http://en.wikipedia.org/wiki/Bounding_volume_hierarchy
Evolution - Verdeckungsberechnung Quelle: http://de.wikipedia.org/wiki/Raytracing
Evolution - Schattenberechnung Quelle: http://de.wikipedia.org/wiki/Raytracing
Evolution - Rekursiv Quelle: http://de.wikipedia.org/wiki/Raytracing
Evolution – Diffus / Distributed Quelle: http://de.wikipedia.org/wiki/Raytracing
Evolution - Path Tracing Quelle: http://de.wikipedia.org/wiki/Raytracing
Ray Tracing vs. Zentralprojektion(CONTRA Ray Tracing) Ray Tracing Zentralprojektion • Berechnungsintensiv • 3D-Modell-Änderungen verringern Effizienz • Schnelle Berechnung • 3D-Modell-Änderungen haben geringe Auswirkung • 3D-Grafikkarten bereits optimiert
Ray Tracing vs. Zentralprojektion(PRO Ray Tracing) Ray Tracing Zentralprojektion • 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
2. Aktueller Stand Quelle: http://www.vray.com/vray_for_maya/gallery/index.shtml
Technische Umsetzung • Mit existierender Hardware • Software auf CPU (Intel-MIC / Daniel Pohl) • Software auf GPU (nVidiaOptix / Andreas Dietrich) • Software auf anderen Prozessoren (Cell) • Mit neuer Hardware (RPU/SaarCOR, Uni Saarbrücken)
Standardszene - Conference • Statische Szene • 282k Dreiecke • Übliche Referenz • Diffuses Rendering • 2009 • Intel MIC (24 cores) • -> 36MRays/s • -> 360x354@17fps Quelle: http://www.youtube.com/watch?v=yvCVD3xtvTg
3. Herausforderungen Quelle: http://www.vray.com/vray_for_rhino/gallery/index.shtml
Beschleunigungsstruktur • Gut für statische Szenen • Neuberechnung hinderlich für bewegende Szenen • Eigenes Forschungsgebiet • Momentane Vorstoßrichtung: Hierarchie-Bäume (BVH)
Diffuses Raytracing • Etablierte Methode für weiche Schatten • Benötigt 10-20 Rays pro Pixel • Keine Forschung
Hardwaretransition 1/3 • Veränderte Grafikpipeline notwendig Quelle: http://www.microsoft.com/en-us/download/details.aspx?id=15051
Hardwaretransition 2/3 • GPU vs CPU - Rennen • GPU • 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?
Hardwaretransition 3/3 • Intel, AMD/ATI, Nvidiaarbeiten bereits daran • Paradigmenwechsel schon bei Programmierung(OpenRT) ohne Massenmarkt zu verlieren! -> Industriestandard notwendig
Kosten - Nutzen • Rechenmehraufwand • 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
4. Zukunft Quelle: http://www.templates.com/blog/rush-energy-3d-car-concepts/
Allgemein Hinweise - Papers „Realtime ray tracing can become a viable alternative graphics technology if it can be offered within a single desktop computer” – JörgSchmittleret 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]
Allgemein Hinweise - Industrie • Intel, AMD/ATI, Nvidiaarbeitenbereits an Raytracing-Unterstützung • Radiosity in ZentralprojektionalsVorbote von Raytracing „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]
Maximal sinnvolle Auflösung • Auge: 120 MegaPixel (Stäbchen)-> z.B. 15000 x 8000 Pixel Bildschirm • Raytracing: 120 MP x 20 rays @ 60 fps = 144 Giga Rays/s • Spezifikation: WHUXGA = 7680 x 4800 P = 36MP
Moore‘s Law • Gordon Moore1965 / Intel • Alle 2 Jahre-> Verdopplungder Transistorzahl Quelle: http://de.wikipedia.org/wiki/Mooresches_Gesetz
Moore‘s Law in Raytracing Quelle: eigene Erstellung
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. 2025 erreicht diese HW laut Moore‘s Law die Reife für Augen-Auflösung (120MP).
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)
Weiterführende Information für Interessierte • Präsentation verfügbar unter Website Prof. Sturmhttp://tamdhu.uni-trier.de/Asysob/ • Exploring the Use of Ray Tracing for Future Games – 2006 - Heiko Friedrich et al • OptiX: A General Purpose Ray Tracing Engine – Steven Parker et al – 2010 - Nvidia • Ray Tracing Deformable Scenes Using Dynamic Bounding Volume Hierarchies – 2007 - Ingo Wald et al • SIGGRAPH – 28.11.2012
Referenzen 1 • [JS2004] - Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip – Schmittler et al • [HF2006] - ExploringtheUseof Ray Tracingfor Future Games – Heiko Friedrich et al • [SW2006] - RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing – Sven Woop et al • [DP2009] – Quake Warsgetsraytraced - Intel • [AL2009] - Understanding the Efficiency of Ray Traversal on GPUs – Aila/Laine– Nvidia
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] - www.pcper.com/reviews/editorial/John-Carmack-Interview-gPu-Race-Intel-graphics-Ray-Tracing-Voxels-and-more/ • [DP2012] – Experimental Cloud‐basedRay Tracing – Intel