Nvidia heeft op de Siggraph 2008-conferentie in Los Angeles een realtime raytrace-applicatie gedemonstreerd die geheel draait op een gpu-systeem, bestaande uit een Quadro Plex 2100 D4 VCS.
De gpu-fabrikant toonde een volledig interactieve raytrace-rendering van een complex 3d-model van twee miljoen polygonen, van een Bugatti Veyron-sportwagen. Het Quadro Plex 2100 D4-systeem, bestaande uit een externe behuizing met daarin twee Quadro 4700 X2-kaarten met elk twee gpu's en 1GB-geheugen, wist de auto en zijn omgeving in een resolutie van 1920 bij 1080 pixels weer te geven met dertig beelden per seconden. Nvidia demonstreerde de realtime raytracer ook op een resolutie van 2560 bij 1600 pixels, maar daarbij werd de framerate niet vermeld.
Raytracing werkt volgens een ander principe dan de rasterisation-techniek die onder meer gebruikt wordt in games. Bij raytracing wordt het beeld opgebouwd door vanuit elk beeldpunt een lichtstraal de virtuele 3d-wereld in te schieten en de baan ervan te volgen, rekening houdend met lichtweerkaatsing en -reflecties van 3d-objecten, en lichtbronnen. Op deze manier kan nauwkeurig de kleur worden bepaald van elk beeldpunt en het is mogelijk zeer realistische 3d-scènes neer te zetten. Nvidia heeft zich bij zijn demonstratie beperkt tot drie weerkaatsingen per lichtstraal.
Het nadeel van raytracing is dat het erg veel rekenkracht kost om het voor realtime-toepassingen, zoals games, in te zetten, maar zowel Nvidia als AMD zijn het erover eens dat raytracing de toekomst is voor 3d-games. In juli dit jaar heeft AMD zijn raytrace-vorderingen gedemonstreerd. Ook Intel heeft verklaard dat raytracing de volgende stap in realtime computergraphics zal gaan worden en mogelijk zal een high-end-versie van Intels Larrabee-gpu realtime raytracing ondersteunen. Het voordeel van raytracing boven traditionele 3d-renderingstechnieken is de lineaire schaling van de rekenkracht bij het verhogen van de resolutie, omdat schaduwen, reflecties, en andere grafische effecten geen extra rekenkracht kosten.
:fill(white)/i/1219049741.jpg?f=thumb)
:fill(white)/i/1219049742.jpg?f=thumb)