Lumen, dit is Ray Tracing voor consoles en goedkope GPU's

Lumen

Het lijdt geen twijfel dat Unreal Engine 5 de ultieme grafische engine is voor de ontwikkeling van next-gen games. De sleutel ligt in verschillende van hun nieuwe technologieën en de manier waarop ze de nieuwe generatie hardware van zowel pc- als videogameconsoles gebruiken. In dit artikel gaan we het hebben over Lumen, jouw oplossing voor globale verlichting.

Het belangrijkste in een game is dat het werkt met een framesnelheid die hoog genoeg is, zodat de gebruiker het gevoel heeft voor een echte scène in beweging te staan. Als we het al over virtual reality hebben, dan vereist de noodzaak om een ​​gevoel van aanwezigheid te creëren hogere snelheden. Daarom is rastering altijd gebruikt als een algoritme om een ​​scène in 3D in realtime weer te geven. Dit is snel en functioneel, maar heeft een zwak punt, namelijk de weergave van licht.

De grenzen van rastering

Lumen Demo Tecnica

Om Lumen te begrijpen, moet je begrijpen hoe Epic, met Unreal Engine 4, de uitdaging had om te komen tot wat we dynamische indirecte verlichting noemen of ook wel globale verlichting genoemd. Het rasteriseringsprobleem kan perfect scènes weergeven waar we een directe bron hebben, maar we kunnen geen indirecte hebben. Dit betekent dat een reeks visuele trucs in games moeten worden uitgevoerd om de effecten van indirecte verlichting te bereiken.

  • Lichtkaarten die bestaan ​​uit het weergeven van de verlichting van de scène vanuit een punt van de camera op een krachtige server. Deze informatie wordt omgezet in een textuur die vervolgens op de scène wordt toegepast. Het resultaat? Het licht verandert niet met de positie van de objecten, het is vals.
  • Schaduwkaarten die ervoor zorgen dat de GPU de scène weergeeft alsof de lichtbron de camera is om alleen de dieptekaart op te slaan en deze vervolgens als een textuur te gebruiken om schaduwen te simuleren.
  • Ambient occlusie om aan te geven welke punten meer verduisterd of verlicht moeten worden.
  • Gebruik van omgevingskaarten, inclusief omgevingskubussen om reflecties te simuleren.

Dit alles komt voort uit het feit dat rasterisatie het transport van licht niet efficiënt kan weergeven, de werking ervan is als een schilder die kleurtechnieken gebruikt om het gevoel van verlichting te creëren, maar dit is een beperking om een ​​grotere grafische getrouwheid te bereiken.

De weergave van materialen

Evolutie Ray Tracing

Historisch gezien zijn we erin geslaagd om een ​​materiaal in rasterweergave weer te geven door een combinatie van texturen en shader-programma's om ze te manipuleren, die bekend staan ​​als pixel shaders in DirectX en fragment shaders in Vulkan. Het feit dat rasterisatie het gedrag van licht op objecten niet goed weergeeft, resulteert echter in een slechte weergave van materialen.

In de echte wereld, wanneer licht op een sterk gepolijste metalen bal valt, gedraagt ​​​​het zich niet hetzelfde alsof het door een houten bal gaat. We mogen niet vergeten dat breking de verandering in richting en traagheid is die een lichtstraal ervaart bij het passeren van het ene medium naar het andere met een verschillende brekingsindex. Het is onmogelijk om licht in zijn echte fysieke gedrag in een simulatie weer te geven, dus wat we doen is het zo veel mogelijk voor onze waarneming weergeven.

Het idee met globale verlichting en technologieën zoals Lumen is om een ​​weergave van de materialen te hebben die trouw is aan onze perceptie in de echte wereld, waarbij wordt gesimuleerd hoe elk materiaal indirect licht uitstraalt.

Wat is Lumen?

Lumen

Lumen is niets meer dan wat we een software Ray Tracing-algoritme noemen, maar zo'n naam is misleidend omdat de eerste conclusie die eruit wordt getrokken is dat het een programma in de CPU ray tracing uitvoeren als dat niet zo is. eigenlijk geen GPU kan het algoritme door de software laten lopen die de kernen uitvoert, die shader-programma's worden genoemd. Het probleem, zoals bij rastering, komt van een specifiek punt, de berekening van de kruising tussen de stralen en de scène.

De oplossing op hardwareniveau was om een ​​klein stukje hardware toe te voegen aan elk van de GPU-kernen om deze taak uit te voeren, het probleem is dat ze het gebruik van Ray Tracing mogelijk maken als hulpmiddel bij rastering, om een ​​reeks effecten uit te voeren van zeer eenvoudige globale verlichting. Bovendien vereist ray tracing, in tegenstelling tot rasterisatie, het gebruik van complexe boomgegevensstructuren, wat de snelheid waarmee snijpuntberekeningen kunnen worden uitgevoerd aanzienlijk vermindert.

De Epic-oplossing gaat dus door een systeem dat zo'n datastructuur niet gebruikt en daar zit de sleutel. Omdat het algoritme in werkelijkheid is ontworpen voor consoles van de nieuwe generatie, die, hoewel ze gespecialiseerde eenheden hebben om de snijpuntberekeningen uit te voeren, een aantal problemen hebben vanwege beperkingen van de RDNA 2-architectuur.

Is lumen beter dan raytracing?

Het antwoord is direct nee, en dit wordt niet door ons gezegd, maar door Epic zelf en is dat het niveau van precisie in globale verlichting dat kan worden bereikt met Lumen beperkt is, omdat we er rekening mee moeten houden dat het een oplossing is die is ontworpen voor het maken van videogames, waarbij weergavesnelheid essentieel is. Dus op het detailniveau is het niet zo goed, maar er zijn onderdelen in Lumen die gelijk zijn aan Ray Tracing en daarom zal het de voorkeur hebben omdat het lichter is om uit te voeren en minder middelen van ons systeem vereist.

PS5, Xbox-serie en RDNA 2: beperkingen

Portada SoC PS5 Xbox

AMD's toewijding aan Ray Tracing is gekomen met de RDNA 2-architectuur, die ze op veel plaatsen hebben weten te plaatsen en waar een van de werkpaarden precies de implementatie van deze technologie in hun GPU's was, twee jaar nadat het deed NVIDIA. Ze hebben dit echter gedaan met bepaalde beperkingen in hun implementatie: de BVH-boomdoorloop die de scène-informatie opslaat, wordt niet uitgevoerd door de intersectie-eenheid.

Dit is een enorme prestatievermindering, waardoor de RX 6000 slechter presteert als het gaat om het toepassen van dergelijke algoritmen. Gelukkig komt er elk jaar nieuwe hardware op pc uit, maar hoe zit het met consoles? Dit is een volledige vijf jaar met dezelfde hardware en dezelfde hardwarebeperkingen. Vandaar het bestaan ​​van Lumen, het is een oplossing om wereldwijde verlichting naar de PlayStation 5, Xbox Series S- en Series X-consoles zonder dat het beperkte vermogen er een belemmering voor is.

En wat gebeurt er op de pc? Lumen zal worden gebruikt in een groot aantal consolegames, omdat Unreal Engine 5 veel zal worden gebruikt en die games met weinig verandering naar de computer zullen worden gebracht. Ondanks het feit dat het een technologie is die is ontworpen voor de beperkingen in Ray Tracing van RDNA 2, betekent dit niet dat het exclusief is voor AMD.