Rastreig de raigs vs representació rasteritzada: explicació

Després del llançament de la família de GPU Turing de Nvidia el 2018, el món del joc va experimentar un augment exponencial de la discussió sobre una característica coneguda com a 'Ray Tracing'. La llavors nova sèrie de targetes gràfiques 'RTX' de Nvidia va donar suport a una cosa anomenada 'Real-Time Ray Tracing' en els jocs. La majoria de la gent no estava segura de quina era aquesta nova característica i per què estava sent tan fort per Nvidia, però alhora estava emocionada i interessada en la tecnologia. Segons Nvidia, Ray Tracing va ser un punt tan important que van considerar necessari posar-lo al nom dels productes que llançaven. La nova sèrie de targetes GeForce 'RTX' va substituir l'antiga varietat 'GTX' quan es va arribar als SKU més importants, com ara els 60,70,80 i els 80Ti que Nvidia sol publicar.



La Nvidia GeForce RTX 3080 és una de les targetes gràfiques més ràpides per donar suport a Ray Tracing - Imatge: Nvidia

La sèrie de targetes gràfiques RTX 2000 de Nvidia va comportar diversos canvis de maquinari que van permetre el suport de Ray Tracing als jocs. Les noves targetes gràfiques basades en Turing contenien nuclis especials dedicats a aquest procés i que eren coneguts com RT Cores. El propòsit dels nuclis RT era manejar específicament tots els càlculs gràfics necessaris per fer possible el seguiment de raigs en temps real en els jocs. Nvidia també va complementar les cartes amb nuclis CUDA addicionals per augmentar la potència bruta de les cartes, alhora que va afegir un nou conjunt de nuclis coneguts com a nuclis tensors. Aquests nuclis tenien la finalitat d’ajudar en aplicacions d’aprenentatge profund i IA, com ara una nova forma de tècnica de pujada a escala coneguda com Deep Learning Super Sampling. Ja hem parlat detalladament del Super Sampling o DLSS de Deep Learning Aquest article , on podeu obtenir més informació sobre la tècnica de pujada a escala amb IA.



El seguiment de raigs no és nou

Tot i que a primera vista pot semblar que Ray Tracing és una nova tecnologia pionera per Nvidia, la veritat està lluny d’això. Sí, Nvidia va ser la primera empresa a implementar suport per a Ray Tracing en temps real en jocs, però això no vol dir que Ray Tracing no existís abans de la sèrie RTX. Probablement fa anys que gaudiu sense saber-ho si heu vist alguna pel·lícula recent que inclou efectes CGI.



El traçat de raigs ja s’utilitza en altres àrees, com ara pel·lícules: imatge: Nvidia



És cert que la implementació a les pel·lícules és una mica diferent i molt més intensa que la versió per a jocs. Les produccions amb un gran pressupost tenen el luxe de poder gastar una gran quantitat de diners i temps en representar aquestes escenes. S'ha informat que les pel·lícules animades més populars han utilitzat uns 1.000 superordinadors per representar tota la pel·lícula amb efectes de traçat de raigs durant un mes. Aquests processos de representació a gran escala, per descomptat, no són factibles ni possibles per al jugador mitjà que vulgui jugar a alguns jocs amb algunes imatges actualitzades, per tant, la versió de Ray Tracing que es presenta als jocs moderns és força diferent en l’aplicació. Tot i així, Ray Tracing és una característica present en moltes àrees de producció fora dels jocs, sent les pel·lícules una de les més destacades.

Els programes de productivitat que fan servir professionals per treballar en escenes gràfiques intensives, com Blender, també admeten les funcions de Ray Tracing. Aquests programes de representació i gràfics per ordinador utilitzen diferents nivells d’aplicacions de traçat de raigs per produir visuals fotorealistes en representacions fixes i animacions 3D.

Què és la rasterització?

Llavors, per què Nvidia va considerar necessari implementar un procés tan complex en els jocs tradicionals? Hi ha alguna diferència en el procés de Ray Tracing als jocs per fer-lo més optimitzat per a la càrrega de treball? Per entendre el mecanisme que hi ha darrere de Ray Tracing, primer hem d’entendre el mecanisme pel qual tradicionalment es representen els jocs. Això ens ajudarà a entendre per què Ray Tracing es considera una millora i un gran salt endavant en la fidelitat gràfica.



La tècnica que s'utilitza actualment per a la representació es coneix com a 'Rasterització'. En aquesta tècnica, el codi del joc dirigeix ​​la GPU a dibuixar una escena 3D mitjançant polígons. Aquestes formes 2D (la majoria triangles) constitueixen la majoria dels elements visuals que es mostren a la pantalla. Després de dibuixar una escena, es tradueix o 'rasteritza' a píxels individuals que després es processen mitjançant un ombrejat dedicat. El ombrejat afegeix colors, textures i efectes d’il·luminació per píxel per produir un marc totalment renderitzat. Cal repetir aquesta tècnica unes 30-60 vegades per segon per produir imatges de 30 FPS o 60 FPS en els jocs.

Detalls del mecanisme de rasterització - Imatge: Medium.com

Limitacions de la rasterització

Tot i que la rasterització ha estat el mode de representació predeterminat en els jocs des de fa força temps, el procés inherent de la rasterització té algunes limitacions. El principal problema de la rasterització és que aquesta tècnica té dificultats per rastrejar exactament com la llum d’una escena hauria de viatjar i interactuar amb altres elements de l’escena. La representació rasteritzada no produeix els mateixos resultats que la representació de Ray Traced quan es tracta dels efectes d’il·luminació i la il·luminació general d’una escena concreta. La representació rasteritzada de vegades també pot produir imatges una mica inexactes en relació amb la il·luminació que poden danyar la immersió en un joc concret. Per això, el traçat de raigs es considera una forma de renderització superior quan es tracta de fidelitat gràfica, especialment en relació amb la il·luminació.

Què és exactament Ray Tracing?

Ara que ja hem debatut sobre la forma tradicional de renderització rasteritzada, anem a parlar de la nova aplicació de Ray Tracing en temps real en els jocs moderns. El traçat de raigs és una tècnica de representació que crea una imatge basada en la llum virtual i com aquesta font de llum interactua amb tots els objectes de l’escena virtual. El traçat de raigs pot crear una descripció molt més realista d’escenes que aprofiten la interacció de la llum amb els objectes de l’escena per donar una sensació de realisme. En paraules senzilles, Ray Tracing és una tècnica que fa que la llum es comporti en els videojocs com ho fa a la vida real.

Ray Tracing promet revisar completament les imatges dels jocs - Imatge: Nvidia

El mecanisme darrere de Ray Tracing

El mecanisme darrere de Ray Tracing als jocs és inherentment diferent de les altres formes de Ray Tracing que ja es troben en altres indústries, com ara les pel·lícules. En lloc de rastrejar tots els milions de rajos que provenen de cada font de llum, el traçat de raigs de nivell consumidor disminueix la càrrega computacional traçant un recorregut des de la càmera que representa la perspectiva de l'usuari, a través d'un sol píxel, fins a l'objecte que hi ha darrere. píxel i finalment tornar a la font de llum de l’escena en qüestió. Aquesta tècnica de traçat de raigs també pot produir efectes múltiples com l'absorció, la reflexió, la refracció i la difusió de la llum, tal com determina l'objecte que estava interactuant amb la llum de l'escena. L'algorisme de traçat de raigs també pot tenir en compte els raigs resultants de manera que els efectes de reflexió o ombres es mostrin amb precisió.

A Ray Tracing, la llum es comporta al joc com ho faria a la vida real: imatge: Nvidia

Diferents formes de Ray Tracing

No totes les implementacions de Ray Tracing són iguals. La varietat de jocs que admeten Ray Tracing implementen la funció de manera una mica diferent. Això correspon al desenvolupador del joc augmentar o disminuir la complexitat de Ray Tracing al joc, de manera que el joc ofereixi un equilibri perfecte de rendiment i qualitat visual. A partir del 2020, la majoria de jocs que admeten Ray Tracing solen utilitzar Ray Tracing per a un aspecte d’una escena en lloc de representar tota l’escena mitjançant el mateix Ray Tracing. És possible, però els costos computacionals del traçat de raigs en escena completa són astronòmics en comparació amb els altres enfocaments i, per tant, no valen la pena l'esforç almenys ara mateix. A l’hora d’escriure, les diferents implementacions de Ray Tracing que s’utilitzen actualment en els jocs són:

  • Ombres: La implementació de traçat de raigs més senzilla i menys intensa està possiblement relacionada amb les ombres. Aquí, Ray Tracing s’utilitza per representar perfectament les ombres d’una escena basada en l’origen de la llum de la font de llum i la posició de l’objecte mateix. Aquesta tècnica s'utilitza de manera més notable a 'Shadow of the Tomb Raider' per produir un mapa d'ombres més detallat que respon als canvis en l'entorn al voltant dels objectes que produeixen les ombres. El més notable és que el moviment i l’angle de la font de llum poden incórrer en els mateixos canvis en les ombres resultants que observem a la vida real.
  • Reflexions: Les reflexions són força més computacionals intenses per representar-se mitjançant Ray Tracing, però, les reflexions Ray Traced tenen un aspecte fenomenal en els jocs moderns i probablement són la millora gràfica més notable que es pot obtenir mitjançant Ray Tracing. Els reflexos utilitzen la font de llum d’una escena per representar amb precisió els reflexos d’objectes reflectants com el vidre i l’aigua. Un dels jocs més populars que utilitzen reflexos Ray Traced és 'Control'.
  • Oclusió ambiental: Això també està relacionat amb les ombres i està més o menys lligat al mateix procés bàsic. Amblusion Occlusion utilitza el traçat de raigs per predir l’angle i la intensitat de les ombres en funció de la posició i la col·locació dels objectes dins d’una escena. Quan es fa bé, Amblusion Occlusion pot afegir detalls i realisme sorprenents a un joc.
  • Il·luminació global: Probablement la forma més intensa d’implementació de Ray Tracing en jocs moderns, Global Illumination utilitza Ray Tracing per representar amb precisió la il·luminació mundial. Això proporciona una sensació d’il·luminació molt més realista quan s’encén, però també té un gran èxit de rendiment a causa de la gran quantitat de dades que s’estan processant. 'Metro Exodus' utilitza Ray Tracing per proporcionar una forma d'il·luminació global molt més realista.
  • Seguiment del camí complet: Finalment, també estem veient sorgir alguns jocs completament traçats, cosa que significa essencialment que tot és Ray Traced. Ara concedits, aquests jocs són una mica més simples i més petits que els altres jocs que eren títols més o menys AAA de grans empreses, però això no vol dir que no semblin impressionants. De fet, alguns podrien argumentar que aquests jocs amb traçat complet del camí tenen un aspecte millor que totes les altres implementacions de Ray Tracing. 'Minecraft RTX' i 'Quake RTX' són dos dels títols que tenen un traçat complet del camí disponible en el moment de la redacció.

Ray Traced Reflections pot ser l’aplicació més atractiva de Ray Tracing en els jocs: imatge: Nvidia

Què necessito per a Ray Tracing?

Com es va esmentar abans, el traçat de raigs és una tasca molt computacional, de manera que requereix un maquinari decididament alt per funcionar bé. A l’hora d’escriure, hi ha diverses targetes gràfiques tant d’AMD com de Nvidia que admeten el seguiment de raigs accelerat pel maquinari. Fins i tot les consoles de Sony i Microsoft admeten aquesta funció. Això amplia una mica la llista de maquinari compatible:

  • Sèrie Nvidia GeForce RTX 2000
  • Sèrie Nvidia GeForce RTX 3000
  • Sèrie AMD Radeon RX 6000
  • Microsoft Xbox Series X
  • Sony PlayStation 5

Tingueu en compte que si AMD gestiona Ray Tracing una mica diferent de Nvidia, hi ha una penalització de rendiment una mica més gran que s’observa quan feu servir targetes AMD per Ray Tracing. A més, si voleu experimentar un rendiment millorat mitjançant Deep Sampling de Deep Learning, aquesta funció també només està disponible a les targetes RTX de Nvidia. Suposadament, AMD treballa en una característica similar a la de DLSS per a les seves targetes de la sèrie RX 6000, però actualment encara es troba en fase de desenvolupament en el moment de la redacció.

Nvidia també ha encunyat el terme 'Giga Rays' per donar als usuaris una idea sobre les capacitats relatives de Ray Tracing de les seves targetes gràfiques RTX. Nvidia diu que 5 raigs Giga per segon és la quantitat mínima de llum virtual que es necessita idealment per il·luminar completament una habitació típica en un entorn de videojocs. El GeForce RTX 2070 ofereix 5 Giga Rays / s, mentre que el RTX 2080 ofereix 8 Giga Rays per segon. El RTX 2080Ti ofereix una enorme quantitat de raigs de 10 Giga / seg. Es tracta d'una unitat una mica arbitrària, de manera que només s'ha d'utilitzar generalment per mostrar expectatives relatives al rendiment.

Pèrdua de rendiment i DLSS

Com és evident a hores d’ara, el desavantatge més gran de Ray Tracing és el rendiment del rendiment a causa de la gran quantitat de càlcul dedicat que cal fer en el procés. En alguns jocs, l’èxit de rendiment és tan gran que pot portar el joc a una velocitat de fotogrames que ja no es considera jugable. L’èxit de rendiment és encara més gran en els jocs que utilitzen implementacions més complexes de Ray Tracing, com ara Reflections, Global Illumination o Full Path Tracing.

Per descomptat, Nvidia va pensar en aquesta situació de penalització de rendiment i també va desenvolupar una nova tècnica de compensació coneguda com a Deep Learning Super Sampling. Aquesta tècnica anomenada DLSS es va llançar al costat de la sèrie RTX 2000 de Nvidia el 2018. Ja hem explorat detalladament DLSS a Aquest article , però l’essència d’aquesta tecnologia és que fa que la imatge es redueixi a una resolució més baixa i, a continuació, intel·ligentment i metòdicament amplia la imatge perquè coincideixi amb la resolució de sortida per proporcionar un rendiment molt superior a la representació nativa. DLSS és un excel·lent mecanisme de compensació per a la pèrdua de rendiment de Ray Tracing, però també es pot utilitzar sense Ray Tracing per proporcionar framerats encara més alts i una experiència molt millor.

Guanys de rendiment significatius en el control quan s'activa DLSS - Imatge: Nvidia

El major avantatge de DLSS és que utilitza Deep Learning i IA per millorar la imatge de manera que hi hagi una diferència de claredat visual poca o nul·la entre la imatge nativa i la superior. Nvidia utilitza els nuclis Tensor de la seva sèrie de targetes RTX per accelerar el procés DLSS de manera que aquest càlcul de pujada es pugui fer al ritme del joc que s'està representant. Aquesta és una tecnologia realment emocionant que ens agradaria que es desenvolupés més i millorés del que és ara.

Futur del Ray Tracing

El Ray Tracing als jocs tot just comença i podem assegurar que és aquí per quedar-se. AMD acaba de llançar el seu primera línia de cartes que admeten el seguiment complet de raigs en temps real amb la sèrie RX 6000 , i PlayStation 5 i Xbox Series X també tenen compatibilitat amb Ray Tracing. Els obstacles actuals que cal superar inclouen la pèrdua de rendiment i el baix nombre de jocs que la suporten. Els jocs actuals que admeten Ray Tracing en el moment d’escriure són:

  • Enmig del mal
  • Camp de batalla V
  • Memòria brillant
  • Call of Duty: Modern Warfare (2019)
  • Call Of Duty: Black Ops Guerra Freda
  • control
  • Crysis Remasteritzat
  • Lliureu-nos la Lluna
  • Fortnite
  • Ghostrunner
  • Justícia
  • Mechwarrior V: Mercenaries
  • Metro Exodus
  • Minecraft
  • Fulla de clar de lluna
  • Pumpkin Jack
  • Quake II RTX
  • Shadow of the Tomb Raider
  • Queda’t a la llum
  • Watch Dogs Legion
  • Wolfenstein: Youngblood

Mentrestant, Nvidia ha confirmat que els següents títols també donaran suport a Ray Tracing una vegada que surtin:

  • Cor atòmic
  • Cyberpunk 2077 (llançament)
  • Llum moribunda 2
  • Doom Eternal
  • Inscrit (beta tancada de novembre)
  • JX3
  • Mortal Shell (novembre)
  • Observador: Sistema Redux
  • A punt o no (llançament d'accés anticipat)
  • Ring Of Elysium (llançament)
  • Sincronitzat: fora del planeta
  • El bruixot III
  • Vampire: The Masquerade - Bloodlines 2
  • World Of Warcraft: Shadowlands (novembre)
  • Xuan-Yuan Sword VII (llançament)

Propers jocs compatibles amb RTX i DLSS - Imatge: Nvidia

Tot i que potser no semblen molts jocs, representa un inici cap a una direcció on la forma predominant de renderització podria molt bé ser Ray Tracing. Ara, pel que fa al rendiment, és realment difícil predir si el rendiment de Ray Tracing es reduirà una mica. El que és raonable esperar, però, és que DLSS millori i ofereixi una compensació suficient per la pèrdua de rendiment que es produeix en activar Ray Tracing. A partir del moment de l’escriptura, la llista de jocs que admeten DLSS no és expansiva de cap manera, però és un bon començament tenint en compte que Nvidia també ha anunciat compatibilitat DLSS per a diversos jocs propers. Aquests són tots els jocs que actualment admeten Deep Sampling Super Learning:

  • Himne
  • Camp de batalla V
  • Memòria brillant
  • Call Of Duty: Black Ops Guerra Freda
  • control
  • Mort encallat
  • Lliureu-nos la Lluna
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Ghostrunner
  • Justícia
  • Marvel’s Avengers
  • Mechwarrior V: Mercenaries
  • Metro Exodus
  • Minecraft
  • Monster Hunter: World
  • Shadow of the Tomb Raider
  • Watch Dogs Legion
  • Wolfenstein Youngblood

Com ja hauríeu notat, la majoria dels jocs que admeten DLSS són títols que també tenen algun tipus de suport per a Ray Tracing. Això ofereix una confirmació addicional de la teoria que DLSS s'ha desenvolupat i publicat principalment com a tecnologia de compensació per pal·liar la immensa pèrdua de rendiment en Ray Tracing. DLSS és una tecnologia seriosament impressionant, ja que Nvidia ha explicat que utilitza un superordinador per realitzar càlculs complexos que entrenen l'algoritme que segueixen els nuclis Tensor dins de les GPU Nvidia. Igual que Ray Tracing, s'espera que DLSS arribi a més jocs:

  • Enmig del mal
  • Cor atòmic
  • Límit
  • Cyberpunk 2077 (llançament)
  • Edge of Eternity (novembre)
  • JX3
  • Mortal Shell (novembre)
  • Mount & Blade II Bannerlord (novembre)
  • A punt o no (llançament d'accés anticipat)
  • Carronyers
  • Vampire: The Masquerade - Bloodlines 2
  • Xuan-Yuan Sword VII (llançament)

DLSS, combinat amb Ray Tracing, sembla ser el futur de la indústria del joc a partir del 2020.

La llista de jocs compatibles amb DLSS 2.0 continua creixent - Imatge: Nvidia

Conclusió

La ràsterització és la tècnica que s’utilitza per convertir un pla 2D de polígons en una imatge 3D a la pantalla en jocs des de fa temps. El 2018, Nvidia va introduir la sèrie de targetes gràfiques RTX 2000 amb suport complet per al seguiment de raigs en temps real en els jocs, una tècnica que utilitza càlculs complexos per rastrejar els raigs de llum en una escena per crear representacions precises de com interactuaria la llum. els objectes d’una escena. Això va portar el món del joc per una tempesta inesperada i tota la indústria va posar Ray Tracing com el seu focus principal en el futur.

A l’hora d’escriure, Nvidia ha llançat una altra generació de targetes gràfiques que milloren encara més el seu rendiment de Ray Tracing, mentre que tant AMD com les consoles també han anunciat el suport total de la funció. Nvidia també ha millorat la seva tècnica de Super Sampling de Deep Learning que utilitza AI i Deep Learning per millorar intel·ligentment la imatge que es va representar a una resolució inferior per tal de compensar la pèrdua de rendiment a causa de Ray Tracing.

Sembla que Ray Tracing ha arribat per quedar-se i, tot i que el nombre inicial de títols que admeten la funció no és ampli, s’anuncien cada cop més títols que tenen un suport complet per a Ray Tracing en temps real. Ara correspon als desenvolupadors afinar les funcions de Ray Tracing en els seus propers jocs i també augmentar el nombre de títols que admetin aquesta funció. Nvidia i AMD també tenen la responsabilitat d’optimitzar el seu maquinari per a aquesta funció, de manera que els jugadors no hagin de patir pèrdues de rendiment devastadores sempre que vulguin activar Ray Tracing.