Microsoft komt met real-time DX12 raytracing API; Nvidia- en AMD-hardware gaat het ondersteunen

Door , bron: Microsoft


Raytracing wordt al tientallen jaren gebruikt in de grafische industrieën om objecten te renderen, maar deze techniek in real-time uitvoeren was voor moderne games vooralsnog toekomstmuziek. Microsoft heeft vandaag echter een flinke stap in de goede richting gezet: het heeft op de eerste dag van de Game Developers Conference de zogenaamde DirectX Raytracing (DXR)-standaard aangekondigd.


Een voorbeeld van de effecten van DirectX Raytracing (afkomstig van EA's Seed-afdeling)

De huidige techniek: rasterization

Om te begrijpen hoe groot de stap is op grafisch niveau, moeten we natuurlijk eerst een kijkje nemen naar de dominante techniek van de laatste 30 jaar. Dat is het zogenaamde rasterization: een driedimensionale ruimte wordt omgezet in twee dimensies die vervolgens vertaald kunnen worden naar pixels. Dankzij hun enorme parallelle rekenkracht zijn gpu's hier uitermate geschikt voor.

Een groot probleem, en tegelijkertijd ook het grootste voordeel, van rasterization is dat objecten die buiten het gezichtsveld van de camera vallen geen effect hebben op het getoonde plaatje. Uiteraard zijn sinds de eeuwwisseling behoorlijk wat technieken en optimalisaties geïntroduceerd om de grafische kwaliteiten wat te verhogen. Met shadow mapping kun je bijvoorbeeld schaduwen van objecten buiten beeld alsnog renderen. 

Technieken als global illumination en screen-space reflection (SSR) lopen echter tegen de limieten aan van wat er mogelijk is met rasterization; ze hebben immers informatie nodig uit de rest van de wereld, terwijl je die vanwege optimalisatie-doeleinden natuurlijk niet altijd beschikbaar wil stellen. Daarom wordt SSR vaak met trucjes in het ontwerp van de in-game levels gerealiseerd.

 

Objecten buiten beeld hebben standaard geen effect op hoe de wereld eruit komt te zien, al wordt dat onder andere met shadow mapping (links) wel enigszins gesimuleerd.

DirectX Raytracing (DXR)

Zoals gezegd is de techniek van raytracing absoluut niet nieuw: het wordt al decennialang gebruikt voor CGI in films. Ook games maken er al enige tijd gebruik van, alleen dan niet real-time: alle berekeningen worden vooraf gedaan en als informatie meegegeven aan objecten. Het grote voordeel van raytracing is dat alle objecten in de wereld invloed kunnen hebben op elkaar, wat bijvoorbeeld voor reflecties cruciaal is.

De DirectX Raytracing (DXR) voegt enkele nieuwe concepten toe aan de DirectX 12 api, zodat games op een gestandaardiseerde manier de videokaart een raytrace kunnen laten doen. Desondanks is DXR flexibel gebleven: er wordt geen gebruikgemaakt van gpu-rekeneenheden met vaste functies (zoals de input assembler en output merger). Applicaties kunnen daardoor altijd zelf bepalen hoe objecten geïnterpreteerd moeten worden.

Aanvankelijk zal DXR voornamelijk als aanvulling op de huidige technieken dienen. Het belooft in de nabije toekomst bijvoorbeeld een grote grafische verbetering in bijvoorbeeld screen space reflections (SSR): met de DirectX Raytracing kan immers informatie uit de omringende wereld opgehaald worden.

Onderstaande video's geven alvast een voorproefje van wat we mogen verwachten van Nvidia's RTX-technologie, die gebruikmaakt van de DirectX Raytracing api.

Brede ondersteuning

Microsoft werkt, uiteraard, hard samen met Nvidia en AMD om hardwarematige ondersteuning voor de nieuwe api-onderdelen te regelen; DXR werkt zelfs al op huidige hardware. Er is daarnaast een softwarematige laag beschikbaar waarop ontwikkelaars terug kunnen vallen, waarbij er geen hardwarematige eisen meer zijn en er dus vrij geëxperimenteerd kan worden.

Ook uit de gaming-wereld mag Microsoft op samenwerking rekenen. De twee grootste openbaar beschikbare game engines, namelijk Unreal Engine 4 en Unity, zullen het bijvoorbeeld gaan ondersteunen. Ook EA gaat met zijn Frostbite- en Seed-engines aan de slag om DXR te implementeren. Het overgrote deel van de markt is daarmee dus al afgedekt.

De eerste benchmark zullen we waarschijnlijk van Futuremark gaan zien: het heeft al laten weten dat 3DMark overweg gaat kunnen met de nieuwe api. Verder is voor Windows per direct de PIX-applicatie beschikbaar gesteld, waarmee game-ontwikkelaars hun scènes diep kunnen inspecteren.


Vandaag in het nieuws

*