Una lunga e interessante analisi, da parte di Hammer Chen, della beta dell’attesissimo V-Ray 3.0 (la versione utilizzata è la 3.05.02)

 
Hammer Chen è un artista FX e certificato V-Ray. Lavora come Senior Designer di Al Jazeera Network. Oggi, dà uno sguardo dall’interno a V-Ray 3.0 Beta e si può anche vedere la versione cinese della rivista nel suo blog qui . 

Ho più di un decennio di esperienza nell’utilizzo di software di rendering. Ero fan di finalRender, poi sono passato a mental ray per alcuni anni (dal momento che viene fornito gratuitamente con 3ds max). Quando ci fu l’aggiornamento di Vray dalla 1.X mi resi conto dell’aumento di velocità nel lavoro e da allora utilizzo Vray come motore di rendering quotidiano. Sono molto entusiasta di partecipare a questo programma di beta testing di V-Ray 3.0 e volevo sapere se la sua velocità di rendering fosse migliorata in modo significativo. Per la maggioranza degli utenti V-Ray, la velocità di rendering è la chiave per l’aggiornamento. Sono un artista FX e ciò significa che devo calcolare un sacco di particelle, effetti, detriti, fuoco, fumo e acqua di giorno in giorno. In questo articolo mi concentrerò sull’ interfaccia utente e la velocità di rendering di V-Ray 3.0 beta. 

Pro 
- Interfaccia utente divisa in sezioni (Basic, Advanced ed Expert) 
- Ottimizzati i tempi di rendering. Circa il 40 ~ 75% più veloce rispetto le vecchie versioni (con il nuovo core di rendering Embree, Probabilistic Lights, la resa progressiva e suddivisione dinamica dei bucket di rendering) 
-Soppressione dei singoli pixel overbright in modo efficace attraverso l’ “intensità Max ray” 

Contro 
-Con le stesse impostazioni, V-Ray 3.0 beta a volte produce immagini leggermente più rumorose confrontate con V-Ray 2.4 
-Attualmente, V-Ray BPTracer non è pronto per la produzione 

Untitled 1

-  Interfaccia (Basic, Advanced ed Expert) 
Interfaccia utente semplice, fornisce pulsanti per passare tra le diverse modalità (Basic, Advanced, Expert). In passato, molti utenti criticarono V-Ray di avere troppi parametri. La nuova interfaccia utente commutabile fornisce un’interfaccia utente più semplice, così i principianti non saranno intimiditi, ma gli utenti avanzati saranno comunque in grado di trovare i parametri che vogliono. 

06 V Ray Quick Settings

- VRay barre degli strumenti: Impostazioni rapide
Questa sezione fornisce impostazioni rapide per tre diversi scenari: esterno, interno e VFX. Quando premo il pulsante “esterno”, i tipi di GI passeranno a BF + BF; Quando premo il tasto “INTERNI”, si passa a IM + LC. Posso anche usare le slide per controllare la qualità. A differenza di Mental Ray dove sono presenti 5 livelli, V-Ray Quick Settings fornisce  33 livelli di qualità. 
Ecco i rendering di prova per la scena esterna, con le stesse impostazioni di GI (BF + BF) per verificare se V-Ray 3.0 beta sia più veloce di V-Ray 2.4. 

07 BF BF VRAY24

Con V-Ray 2.4, il tempo di rendering è stato di 51 minuti e 13,6 secondi.

08 BF BF VRAY3 embree

Con V-Ray 3.0 beta, il tempo di rendering è stato di 30 minuti e 20 secondi.
Anche se con le stesse impostazioni, V-Ray 3.0 beta ha una resa leggermente più rumorosa di V-Ray 2.4, il tempo di rendering si è significativamente ridotto del 40,8%. 

09 Progressive rendering

-Nuovo Image Sampler: Rendering progressivo 
Progressive Rendering è un nuovo campionatore di immagini per V-Ray. 
Letteralmente parlando, la resa progressiva è un rendering continuo da grezzo a qualità più fine.È possibile controllare la sua qualità attraverso “Min Max Subdivs” oppure è possibile limitare direttamente il tempo di rendering. Maxwell Render ad esempio utilizza metodi similari

10 Progressive rendering

Rendering progressivo: dalla resa grezza alla qualità finale
Poiché è possibile specificare il tempo di rendering, è più semplice valutare il tempo complessivo di rendering per l’animazione. Con il rendering progressivo, non devi aspettare a lungo per vedere i risultati di rendering, potete vedere in anteprima la scena con solo poche iterazioni, il rendering in modalità progressiva è perfetto per il setup iniziale della scena e per veloci prove. Pertanto, la resa progressiva è buona per le anteprime ma allo stesso tempo può essere incorporato anche per la resa finale. 

11 Embree UI

- Embree: accelerazione di rendering CPU 
Che cosa è Embree? 「… Embree è un insieme di ray tracing kernel altamente performanti, sviluppato da Intel. Il target di Embree sono applicazioni grafiche ingegneristiche che desiderano migliorare le prestazioni sfruttando il ray tracing ottimizzato di Embree. I kernel sono ottimizzati per il rendering fotorealistico sui più recenti processori Intel ® con supporto per SSE, AVX … 」da http://embree.github.io

Quali CPU supportano Embree? 
Si dice che l’ultima CPU Intel con supporto per SSE supporta AVX Embree. Non riesco a trovare una lista completa delle CPU Intel supportato su internet. Ma con il mio computer portatile Intel Core i5, quando “Use Embree” è selezionata, riduce significativamente il tempo di rendering. 

12 Embree  frame16

Per questa scena, senza accelerazione Embree, il tempo di rendering è stato di 1 ora 43 minuti e 46 secondi. Se attivata la funzione “Usa Embree”, il tempo di rendering è stato di 1 ora 33 minuti e 41 secondi. Pertanto, l’accelerazione Embree,  in questo caso, ha ridotto del 9,7% il tempo di rendering. Ad Embree non interessano le mie impostazioni di qualità di rendering. Ho anche scoperto che non importa quale tipo di combinazione GI sia selezionata (BF + BF o IM + LC … ecc) Embree è sempre in grado di velocizzare il calcolo. 

13 Dynamic splitting

-Dynamic Splitting dei bucket di rendering
Questa caratteristica riduce dinamicamente il Render Bucket Size. 
"la sindrome dell’ultimo bucket": diciamo che si esegue il rendering con la CPU a 8 core, in principio, ogni core calcola un bucket specifico, ma quando si arriva ad avere solamente un ultimo bucket la CPU si ritrova a calcolare a 1/8 della potenza totale (questa è la sindrome dell’ultimo bucket)

 In V-Ray 3.0 beta (finalmente ndr) è disponibile un’opzione che divide dinamicamente il bucket. Nel momento in cui rimane un solo bucket questo viene splittato in bucket più piccoli per far si che la CPU rimanga sempre in full.

14 Dynamic splitting 01

La Suddivisione dinamica del bucket di rendering elimina la “sindrome da ultimo bucket”

15 Probalistic lights

Probabilistic Lights
Questa opzione consente il calcolo ottimizzato per scene con molte luci. Quando questa opzione è disattivata, per ogni punto colpito, V-Ray effettua un calcolo. In scene con molte luci e un sacco di rimbalzi GI, questo porta ad un sacco di calcoli, al punto che l’intero calcolo diventa estremamente lento. Quando questa opzione è abilitata, V-Ray sceglierà a caso il numero specificato di luci e valuterà solo quelli … 
16 Probalistic lights wireframe
La scena di cui sopra ha 13 VRayLights. Quando lascio “probabilistic lights” spento, il tempo di rendering è di 6 minuti e 46 secondi; Se attivo “Probabilistic lights”, il tempo è stato di 4 minuti e 15 secondi. Pertanto, questa funzione può ridurre il tempo di rendering del 37,1%, ma i risultati sono più rumorosi. Credo che questa funzione possa essere utilizzata in un ambiente di illuminazione complessa, da utilizzare come strumento di rendering d’anteprima. 

17 Probalistic lights compare

Senza e con “Probabilistic Lights”

18 Max ray intens 01

-Max ray intensity
Questa opzione consente di sopprimere l’effetto dei raggi molto brillanti, che possono in genere causare eccessivo rumore. Il suo effetto è simile al subpixel mapping + Clamp output della sezione color mapping, ma Max ray intensity viene applicato a tutti i raggi secondari (GI / riflessione / rifrazione). Questo permette ai punti troppo chiari di essere effettivamente soppressi, ma senza perdere troppe informazioni HDR nell’immagine finale 
 
 19 Max ray intens compare
 
In questo esempio, ho volutamente impostato il piano più scuro, così sarà più facile vedere il rumore. Immagine a sinistra è stata calcolata senza l’opzione “Max ray intens”. A destra è stato attivato a “ray intens Max = 1”, e questo effettivamente ha soppresso il rumore (bianco). 

20 Min sahding rate 01

-Min shading rate 
Questa opzione consente di controllare il numero di raggi emessi per AA contro i raggi di altri effetti come glossy reflections  GI, area shadows ecc E ‘particolarmente utile con il progressive rendering. Valori più alti significano che meno tempo sarà speso per AA, e maggiori sforzi saranno utilizzati nel campionamento di effetti di ombreggiatura … 

21 min shading compare

A sinistra: Shading Min = 1; destra: Shading Min = 64

22 VRayBPTracer 01

-VRay BPTracer (Bi Directional Path Tracing)
Che cos’è “Bi Directional Path Tracing”? 
「…(1) Shooting rays from the light sources and creating paths in the scene. The path is cut off at a random number of bouncing steps and the resulting light is sent through the projected pixel on the output image. During rendering, billions of paths are created, and the output image is the mean of every pixel that received some contribution. (2) Gathering rays from a point on a surface. A ray is projected from the surface to the scene in a bouncing path that terminates when a light source is intersected. The light is then sent backwards through the path and to the output pixel. Bidirectional Path Tracing combines both Shooting and Gathering in the same algorithm to obtain faster convergence of the integral. A shooting path and a gathering path are traced independently, and then the head of the shooting path is connected to the tail of the gathering path…」 from Wikipedia
 
Questo è un nuovo tipo di motore unbiased per V-Ray. Quando si utilizza VRay BPTracer, calcolerà automaticamente le caustiche.Attualmente non è compatibile con 3ds max Frame Buffer. Per la mia esperienza, V-Ray BPTracer è ancora una funzione sperimentale. Anche se avrei potuto usare “radius” per il controllo della qualità, ma non calcola le riflessioni ambientali correttamente, portando ad alcune aree del vetro irrealisticamente più scure. La stessa scena con le impostazioni tradizionali non avrebbe questo problema. Credo che V-Ray BPTracer sia utile per alcune situazioni specifiche, ma non è pronto per la produzione in questa versione beta. 

24 VRayBPTracer compare

Scena renderizzata con V-Ray BPTracer. Da sinistra a destra: default, raggio = 0.1, raggio = 0.5 

Come usare VRay BPTracer? 
Basta aggiungere un Helper V-Ray BPTracer nella scena, questo sovrascriverà automaticamente le impostazioni di V-Ray GI, e il calcolo sarà controllato attraverso l’helper. Renderizzerà in modalità progressiva. Da grezzo alla qualità più alta fino a quando non raggiungerà il suo specifico numero di iterazioni. 

25 VRay shaders
 

    Altre nuove caratteristiche:

Nuovi Shaders 
-VRayScater Volume 
-VRayGLSLMtl 
-VRayHaitMtl 
-VRayOSLMtl 
-VRayVRmatMtl 

26 VRay maps
 
Nuove mappe 
-VRayICC 
-VRayLut 
-VRayOCIO 

-V-Ray Material Vismat (può essere condiviso tra diversi software, vale a dire: Maya e 3ds Max) 

27 VRayMetaball

-V-Ray Metaballs 

28 Render mask

- Render Mask 
- Supporto Alembic attraverso i VRayProxy
29 Deep EXR
- Supporto per i Deep Data
 

Conclusioni: 
- Rispetto a V-Ray 2.4, V-Ray 3.0 beta, riduce del 40 ~ 75% il tempo di rendering, ma i risultati sono leggermente rumorosi in alcuni casi. 
- Embree può velocizzare il rendering, ridurre di circa il 10% il tempo di rendering e non compromettere la qualità dell’immagine. 
- Progressive Rendering è una grande innovazione per questa versione, molto utile sia per l’anteprima che la produzione. 
- “Suddivisione dinamica del bucket di rendering” è una piccola funzione, ma può utilizzare efficacemente tutti i core della CPU durante il rendering. 
-Probabilistic Lights è molto utile per la scene con un grandissimo numero di luci 
-V-Ray BPTracer è ancora in fase di sviluppo 


Traduzione a cura di Edoardo Montanino 
3D Artist - Autodesk Instructor

LINK all'articolo originale in inglese
- LINK al blog di CG, Arte, Hardware di Edoardo Montanino