Activitats

Comparativa de motors de renderització

L’objectiu de l’activitat és entendre els requeriments tècnics dels motors de renderització i seleccionar un motor en funció de les necessitats específiques d’una tasca.

S’ha de fer el següent:

  1. Explicar a grans trets quin és el funcionament d’un motor de renderització.
  2. Cercar informació de les característiques tècniques principals d’Arnold i comparar-ho amb l’altre motor de renderització que es comenta en aquesta secció, V-Ray.
  3. Destacar els aspectes més potents de cadascun d’ells i les seves febleses, i en funció d’això indicar en quins tipus de produccions serien adients.

1. La tasca del motor de renderització és, mitjançant l’aplicació d’algoritmes que simulen el comportament de la llum en la realitat, calcular, des de la càmera fins als punts de llum que tenim a l’escena, els rebots de llum sobre els objectes de l’escena, el comportament de la llum sobre les diferents superfícies (reflexió, refracció, oclusió, dispersió, etc.), captant la informació de color de cada material, etc. i convertir-ho en un píxel de la imatge final del procés de renderització.

2. Comparació entre Arnold i V-Ray

Motor Algoritme Processament Shaders PBR
Arnold Brute Force CPU Si
V-Ray Brute Force CPU/GPU Si
Irradiance Map
Photon Map
Light Cache

3. Entre aquests dos motors de renderització, podem destacar que Arnold, en situacions de llum directa és més ràpid, i que el seu ajust és més senzill que el de V-Ray, encara que aquest és més precís en situacions de llum indirecta, i càlculs intensius, com poden ser les càustiques o els volums. Així doncs, Arnold és un motor de renderització més adient per a produccions d’animació, i V-Ray, és més adient en situacions on la precisió en la il·luminació és crucial, per exemple infoarquitectura o VFX.

Treball de recerca: els algoritmes de renderització

L’objectiu del treball de recerca és familiaritzar-se amb conceptes tècnics sobre el funcionament intern dels motors de renderització.

S’ha de fer el següent:

  1. Explicar com funcionen els algoritmes més habituals en els motors de renderització. Heu de descriure com funcionen i prenen la informació de l’escena: la rasterització, el Ray Casting i el Ray Tracing.
  2. Cercar exemples de motors amb cadascun dels algoritmes. Feu una llista de cinc motors de renderització i digueu quin o quins són els algoritmes que fan servir cadascun d’ells.

  1. Algoritmes més habituals en els motors de renderització:
    • Rasterització: consisteix únicament en la projecció de la geometria de l’escena a un pla 2D; és un mètode ràpid de representar elements en 3D en una imatge en 2D, però el càlcul de llums i ombres no és massa acurat.
    • Ray casting: calcula la trajectòria dels raigs llençats des de la càmera fins que interseca amb la superfície d’un objecte, i determina, així, quins objectes són visibles. Aquest mètode no permet el càlcul de raigs recursius (rebots de raigs de llum o reflexos, per exemple). Va ser un dels mètodes de renderització als primers videojocs en 3D.
    • Ray tracing: és una evolució del Ray casting, on els raigs llençats des de la càmera intersequen amb els objectes de l’escena; però té en compte efectes com la reflexió i la refracció de la llum, traçant rajos secundaris que permeten un càlcul més acurat i l’obtenció d’imatges fotorealistes. Aquest mètode serveix de base per a altres de més complexos, com el Photon Mapping, que permet el càlcul d’efectes com el de les càustiques. Aquesta precisió de càlcul té el cost de temps de renderització més llargs, i això fa que sigui un mètode que només fan servir els motors que treballen mitjançant la prerenderització.
  2. Llista de cinc motors de renderització amb el seu algoritme:
Motor Algoritme
Keyshot Raytracing
Marmorset Global Illumination
Arnold Brute Force
V-Ray Brute Force / Irradiance Map / Light Cache / Photon Map
Maxwell Global Illumination

Treball pràctic: renderització de prova d'una escena

L’objectiu de la pràctica és familiaritzar-se amb l’ús de la il·luminació als programes 3D, fer una renderització de prova, i fer ajustos per tal de refinar el soroll a les ombres.

Heu de generar una escena senzilla (amb primitives). Situeu en escena una llum d’Arnold. Activeu Arnold als Render Settings i feu una renderització. Haureu de reduir el soroll a les ombres, ajustant els paràmetres de la pestanya Arnold renderer als Render Settings.

Per fer l’activitat, s’han de seguir els següents passos:

1. Des de la pestanya Poly/Modeling a la Shelf, heu de crear un pla, un cub, una esfera i un cilindre, i disposar-los a l’escena.

2. A la finestra Render Settings, escolliu Arnold com a motor de renderització de producció.

::

3. Des de la pestanya Arnold a la Shelf, creeu un Area Light, i disposeu-la a l’escena, activant llums i ombres a les icones del viewport.

4. Des de la finestra Arnold Render View llanceu un renderització de l’escena.

5. Torneu a la finestra Render Settings i a la pestanya Arnold Renderer ajusteu els valors de Camera Sampling i Diffuse i, finalment, valoreu l’efecte sobre les ombres de la renderització.

Funcionament d'un motor de renderització

L’objectiu d’aquesta activitat és entendre el funcionament d’un motor de renderització al crear una imatge.

Responeu les següents preguntes:

  1. Què es el sampling?
  2. Quins paràmetres hem de tenir en compte per dur a terme una renderització?

  1. El sampling és un mostreig de la imatge, per tal d’optimitzar els temps i la qualitat de la renderització. Bàsicament consisteix en què el motor calculi un nombre de mostres determinat, pels rajos per píxel llençats des de la càmera, en funció del nivell de precisió, qualitat i netedat de la imatge requerida. Com més rajos, millor serà el mostreig, més precís el càlcul i més qualitat tindrà la renderització; però també serà més llarg el temps de renderització.
  2. El primer valor que haurem de tenir en compte és el Camera (AA), que realment no afecta el càlcul de llum, sinó que és el valor d’anti-Aliasing, que suavitza l’efecte de dents de serra (aliasing). Aquests es dona a totes les imatges constituïdes per píxels (com és el cas) i té una incidència important en la qualitat final de la renderització. D’altra banda, el valor que donem a aquest paràmetre vindrà determinat per la quantitat de mostres (samples)). El segon valor que hem de tenir en compte és el Camera Sampling (AA) que multiplica també el valor de les mostres de la resta de paràmetres de l’apartat Sampling del Render Settings (Diffuse, Specular, Transmission, Sub Surface Scattering –o SSS– i Volume Indirect).

Funcionament d'un motor de renderització: espais de color

L’objectiu d’aquesta activitat és entendre el funcionament dels motors de renderització per generar imatges.

Responeu: quins tipus d’espais de color hi ha als motors de renderització?

Hi ha dos espais de color. Un és l’espai de color linear, que bàsicament és un espai de color on cada número, que representa un valor lumínic, té amb aquest una relació “1:1”. Això vol dir que si doblem aquest número, tindrem el doble d’intensitat lumínica. Des d’un punt de vista de processament de la informació, aquest sistema és òptim, però la visió humana no és capaç de copsar tota aquesta informació, per això van aparèixer espais de color non linear.

Per tant, l’altre és l’espai de color non linear, també conegut com a logarítmic. Dins dels espais de color logarítmics, el més utilitzat és el sRGB, ja que és el que majoritàriament fan servir els monitors. Aquests espais de color apliquen una correcció, anomenada Gamma, als valors lineals; per poder comprimir-los i així visualitzar aquests valors lumínics.

Anar a la pàgina següent:
Exercicis d'autoavaluació