Bugatti Veyron im GPU-Echtzeit-Raytracing inklusive Spiegelungen in Spiegelungen, adaptivem FSAA und korrektem Schattenwurf. (1) [Quelle: siehe Bildergalerie]
Original-Artikel: 29.08.2008 "
Wer 1988 eine relativ unspektakuläre Raytracing-Demo in Echtzeit durchführen wollte, brauchte dafür noch eine SGI Reality Workstation", sagte David Luebke. "
Heute schaffen das unsere deutlich günstigeren GPUs unter CUDA." Zusammen mit seinem Kollegen Steven Parker hat er eine Technik-Demo entwickelt, in der ein Sportwagen durch eine Großstadt saust. Die Demo feierte auf der Siggraph Premiere und wurde auch auf der NVISION 08 mehrfach vorgeführt. In einem Making-of-Vortrag beleuchteten Luebke und Parker einge Hintergründe. "
Manche Leute sagen, dass Raytracing hübsch und Rasterung hässlich sei", kommentierte David Luebke. "
Ich sage: Beide sind auf ihre Weise hässlich. Herkömmliche, gerasterte 3D-Grafik ist zwar schnell, doch erfordert einigen Aufwand für optische Spezialeffekte."
Luebkes und Parkers Raytracing-Demonstration besitzt zwei Millionen Polygone, wobei eine Million auf das Fahrzeug und eine auf die Stadtumgebung entfallen - etwa soviel, wie die Unreal Engine 3 gleichzeitig darstellen kann. Dabei kommt Nvidias Quadro Plex 2100 D4 Visual Computing System zum Einsatz, in dem vier GPUs brummen. Das System gibt Fahrzeug und Umgebung in einer Auflösung von 1.920 mal 1.080 Bildpunkten mit 30 Bildern pro Sekunde aus. Farbshader, Schatten, Reflektionen und Lichtbrechungseffekte werden mit fünf "Sprüngen" pro Lichtstrahl berechnet. Bumpmapping, variable Lichtquellen und adaptives Anti-Aliasing bis zu 4x sind weitere Stärken der Demo, deren Objekte in Maya modelliert und mit der Software Collada in die Raytracing-Engine importiert wurden. Texturen- und Vertex-Buffer werden zunächst in OpenGL gefüllt und dann an das in CUDA geschriebene Raytracing-System weiter gereicht, das die Berechnung der einzelnen Lichtstrahlen übernimmt. Je nach Lichtquelle kommen Light- beziehungsweise Miss-Shader zum Einsatz. Prallt der Lichtstrahl von einer Oberfläche ab, wird deren spezifischer Material-Shader aktiv. Schließlich reicht das Raytracing-System die Daten an eine Darstellungs- und Post-Processing-Einheit weiter, die wieder in OpenGL geschrieben wurde.
Zu den Vorteilen des Raytracing-Verfahrens zählt David Luebke ein vereinheitlichtes Rendern mit weniger Algorithmen und ein leichteres Kombinieren von Spezialeffekten. "
Doch selbst in Hollywood-Produktionen setzen die Effektgurus aus Geschwindigkeitsgründen nicht ausschließlich auf Raytracing", erklärte Luebke. "
Mein Rat an alle Grafik-Experten: Nutzt beide Systeme, Rendern und Raytracing." Zu den größten Kunden von Grafikfirmen, die sich auf Raytracing spezialisiert haben, gehören nach Luebkes Worten vor allem Automobilunternehmen, die ihre zukünftigen Fahrzeuge so realistisch wie nur möglich simulieren wollen. "
Spielentwickler schielen vor allem auf den heiligen Raytracing-Gral: indirekte Beleuchtung", sagte Luebke. Weiche Schatten und Reflektionen sorgen dann für noch realistischere Spielwelten.
Für registrierte Nutzer haben wir zwei der Screenshots als Hi-Res-Variante zum Download an diese Meldung angehängt.
Update: 8.5.2009 In einer PDF-Präsentation über die Zukunft des GPU-Computing deutet Nvidias David Luebke, welcher bereits auf der Nvision 2008 die Raytracing-Demo des Bugatti Veyron vorstellte, die Einführung einer CUDA-basierten Ray-Tracing-API an, welche dann natürlich die Rechenleistung der hauseigenen Nvidia-GPUs nutzen wird.
Kommende DirectX-11-Produkte wie der GT300-Chip dürften hier dank der Anforderungen der neuen Microsoft-API für Compute-Shader (Scatter/Gather, mögliche Atomic Read/Writes in das Shared Memory) noch deutlich besser geeignet sein als aktuelle Grafikkarten.
Update: 5.10.2009 Nvidia hat auf der GPU Technology Conference 2009 neben einer
neuen Bugatti-Raytracing-Demo auch noch die ältere Variante aus dem Jahre 2008 vorgeführt. Wir wollen Ihnen dieses beeindruckende Video keinesfalls vorenthalten. Ob die GPU-Raytracing-Demo in Echtzeit berechnet wurde und welche GPU dafür zuständig war, entzieht sich unserer Kenntnis.
Alle Artikel zu
Grafikkarten von Nvidia und AMD/Ati finden Sie auf der Grafik-Themenseite. Eine aktuelle Grafikkarten-Kaufberatung finden Sie im Artikel
Ati- und Nvidia-Grafikkarten: Test-Übersicht und aktuelle Kauf-Tipps. Mehr zum
Geforce-Entwickler Nvidia und
Radeon-Entwickler AMD erfahren Sie in unseren Themen-Specials.
Freizeitschrauber
05.10.2009 20:21
Also ich hoffe, dass das Echtzeitrendering war - wenn nicht dann war die Darbietung nämlich schlecht. Immerhin ist das einfachstes Whitted-Raytracing, dass es seit den 80'er Jahren gibt. Die G300'er Demo hat dann ja nen GI Algorithmus und sogar scheinbar nen recht guten aber wie man gut sieht bei (Zeit: 1:06) braucht der Bildaufbau aber schon deutlich länger, da mehrere Iterationen notwendig sind bis das Bild nicht mehr so grobkörnig ist. Aber immerhin deutlich schneller als mit ner normalen CPU, die dafür sicher mehrere Minuten aufwärts benötigen würde.
Gesperrt
05.10.2009 15:54
Die im Video gezeigte Veyron-Demo (also der Veyron, der durch die Häuserschluchten fährt) gibts noch kein Global-Illumination.
Das Global-Illumination gibts in der nächsten version, da steht der Veyron allerdings still. Das sieht man auf folgendem Video:
Geforce G300-Fermi: Bilder der Raytracing- und Physik-Demos - Update: Raytracing-Video - Nvidia, Fermi, G300, Grafikkarte, Geforce
Nebenbei nutzt die Echtzeit-Veyrondemo (so wie hier verlinkt) 2x QuadroPlex 2200 D2, also unterm Strich 4xGT200 mit 16GB Framebuffer.
Komplett-PC-Aufrüster
05.10.2009 15:17
Was mich interessieren würde, ist, welche Global-Illumination Variante bei der Demo genutzt wird?!
Eine Annäherung per Monte-Carlo-Simulation?! Oder doch nur mit BruteForce Algorithmus?!