Onlangs trok een demo van Epic, de makers van de Unreal game-engine, de wenkbrauwen op vanwege de fotorealistische lichteffecten. De techniek is een grote stap voorwaarts voor ray tracing. Maar wat houdt dat in?
Wat Ray Tracing doet
Simpel gezegd, ray tracing is een methode die een grafische engine gebruikt om te berekenen hoe virtuele lichtbronnen de items in hun omgeving beïnvloeden. Het programma letterlijk sporen de stralen van licht, met behulp van berekeningen die zijn ontwikkeld door natuurkundigen die bestuderen hoe echt licht zich gedraagt.
Grafische engines zoals Unreal of Unity gebruiken ray tracing om realistische lichteffecten – schaduwen, reflecties en occlusies – weer te geven zonder ze als hun eigen individuele objecten te hoeven weergeven. Hoewel het redelijk intensief is vanuit een verwerkingsstandpunt, betekent het gebruiken om alleen weer te geven wat de camera (dwz de speler) op een bepaald moment moet zien, dat het efficiënter kan zijn dan andere, oudere methoden om realistisch licht in virtuele omgevingen te simuleren. De specifieke lichteffecten worden weergegeven op een enkel tweedimensionaal vlak vanuit het perspectief van de kijker, niet constant in de hele omgeving.
Dit wordt allemaal bereikt met verbazingwekkend ingewikkelde wiskunde, zowel wat betreft het bepalen van de manier waarop het virtuele licht zich gedraagt als hoeveel van deze effecten op een bepaald moment zichtbaar zijn voor de kijker of speler. Ontwikkelaars kunnen minder complexe versies van dezelfde technieken gebruiken om rekening te houden met minder krachtige hardware of snellere, soepele gameplay.
Ray-tracing is een algemene benadering van afbeeldingen in plaats van een specifieke techniek, hoewel deze voortdurend wordt verfijnd en verbeterd. Het kan worden gebruikt in vooraf gerenderde afbeeldingen, zoals de speciale effecten die te zien zijn in Hollywood-films, of in real-time engines, zoals de afbeeldingen die je midden in het spel ziet tijdens een pc-game.
Wat is er nieuw in Ray Tracing?
De demo die onlangs ray tracing in het nieuws heeft gekregen, is die in de onderstaande video, een korte Star Wars schets met enkele stormtroopers met een erg slechte timing. Het werd vorige week getoond op de Game Developer’s Conference. Het is gemaakt door Epic Games (makers van de alomtegenwoordige Unreal Engine) in samenwerking met NVIDIA en Microsoft om te pronken met nieuwe ray tracing-technieken.
Buiten de context is het gewoon een gekke video. Maar het belangrijkste is dat het in realtime wordt weergegeven, zoals een videogame, niet vooraf als een Pixar-film. De onderstaande video laat zien hoe de presentator de camera door de scène zoomt met realtime bedieningselementen, iets dat niet mogelijk is met vooraf weergegeven afbeeldingen.
Theoretisch gezien, als je gaming-pc krachtig genoeg is, kan hij in elke game soortgelijke graphics genereren met behulp van de nieuwe ray tracing-lichteffecten in de aankomende versie van de Unreal-demo.
De technologie schittert echt (snap je?) Omdat deze specifieke demo veel reflecterende en gespiegelde oppervlakken met een onregelmatige geometrie bevat. Bekijk de manier waarop de omgeving wordt weerspiegeld in de gebogen panelen van het verchroomde pantser van kapitein Phasma. Net zo belangrijk, merk op hoe het doffer en diffuser wordt gereflecteerd door het witte pantser van de normale stormtroopers. Dit is een niveau van realistische belichting dat momenteel niet beschikbaar is in games.
Zal het ervoor zorgen dat mijn games er fantastisch uitzien?
Ja, in zeer specifieke omstandigheden. Dit geavanceerde niveau van raytracing maakt het voor videogames gemakkelijker om indrukwekkendere lichteffecten weer te geven, maar het maakt de veelhoekige structuur van de afbeeldingen niet echt gedetailleerder. Het verhoogt de resolutie van de texturen niet, of verbetert de vloeibaarheid van de animaties. Kortom, het zorgt ervoor dat de verlichting er realistisch uitziet, en dat is het dan ook.
De bovenstaande demo is bijzonder dramatisch omdat de ontwikkelaars personages en omgevingen hebben gekozen waar bijna elk oppervlak licht schijnt of reflecteert. Als je dezelfde technologie gebruikt om bijvoorbeeld de protagonist van The Witcher serie die met zijn paard door het platteland rijdt, zie je geen sterk reflecterende oppervlakken behalve zijn zwaard en misschien wat water. Cruciaal is dat de ray tracing-technieken niet veel zullen doen om de weergave van zijn huid, de vacht van het paard, het leer van zijn kleding, enzovoort te verbeteren.
De krantenkoppen die uit deze demonstratie kwamen en beweerden dat het zou resulteren in “blockbuster movie graphics” waren een beetje overdreven – dat zou waar kunnen zijn als je een level speelt dat zich afspeelt in een spiegelzaal, maar dat is het dan ook.
Wanneer zie ik dit spul in mijn games?
De GDC-demonstratie was een voorbeeld van een gepatenteerde ray tracing-techniek genaamd RTX, die nu wordt ontwikkeld door NVIDIA. Het zal zijn debuut maken in de volgende serie high-end GeForce grafische kaarten, waarvan momenteel geruchten dat ze later dit jaar debuteren met de 20XX-modelnummers. Net als andere eigen grafische technologie, zoals NVIDIA’s PhysX, is deze waarschijnlijk niet beschikbaar voor spelers die grafische kaarten van andere fabrikanten gebruiken.
Dat gezegd hebbende, gebruikt RTX ook een nieuwe functie van het DirectX API-systeem, specifiek voor ray tracing (door Microsoft raytracing genoemd). Dus hoewel de specifieke demo’s hierboven een samenwerking zijn tussen Epic en NVIDIA, is er niets dat concurrerende fabrikanten zoals AMD en Intel ervan weerhoudt om vergelijkbare systemen met vergelijkbare resultaten te maken.
Simpel gezegd, je zult zien dat high-end pc-games deze technieken tegen het einde van 2018 en begin 2019 beginnen te gebruiken. Gamers die rond die tijd in nieuwe grafische kaarten investeren, zullen het meeste voordeel zien, maar als je dat al hebt gedaan een geavanceerd spelsysteem, kunt u sommige van deze effecten mogelijk gebruiken in DirectX-compatibele games op uw huidige hardware.
Vanwege de lange ontwikkeltijden en statische hardwaredoelen zullen consolespelers deze geavanceerde grafische afbeeldingen pas zien als de volgende ronde gameconsoles over een aantal jaar wordt uitgebracht.
Afbeeldingscredit: NVIDIA, Epic / YouTube, Guru3D / YouTube