Antialiasing e DMC Sampler sono indubbiamente argomenti ostici in fatto di settaggi di rendering. In questa guida proveremo a analizzare alcune delle problematiche più ricorrenti e a suggerire un metodo di lavoro.

A seguire un estratto di alcune immagini presenti in questo tutorial.

Premessa

Le migliori risorse che io abbia reperito in rete circa le problematiche di AA sono quelle di Akin Bilgic e di Toni Bratincevic.

V-Ray DMC Calculator

A tool to demonstrate the connection between
V-Ray’s Image Sampler and DMC Sampler by Akin Bilgic

V-Ray Optimization

by Akin Bilgic

V-Ray DMC Sampler

by Toni Bratincevic
Nonostante non siano più recenti credo che non ci sia nulla di più approfondito sull’argomento.
Ho impiegato del tempo prezioso per assimilare i contenuti di queste risorse quando lavoravo con V-Ray 1.9 per Cinema 4D.
Cosa è cambiato con la versione 3.4?
Semplicemente è diventato più facile muoversi all’interno dei settaggi di V-Ray; probabilmente gli sviluppatori hanno voluto offrire dei pre-settaggi in grado di aiutare l’utente medio a velocizzare il proprio flusso di lavoro.
A conferma di questo orientamento basta seguire i tutorial presenti sul sito ufficiale:
Con le impostazioni di default basta fare questi semplici passi:
  1. Settare le dimensioni dell’immagine;
  2. Attivare la GI;
  3. Far partire il calcolo.
Il risultato che si ottiene è in genere buono in quanto i parametri di default sono alti. Basti pensare che se le “Max.Subdivs” sono pari a “100” di conseguenza i campioni primari saranno pari a “10.000” per pixel (il quadrato delle “Max.Subdivs”) e quelli secondari saranno pari a ben “60.000” per pixel (il quadrato delle “Max.Subdivs” x “Min Shading Rate”).
Inoltre se si usa il “Progressive” come metodo di Antialiasing è possibile impostare un tempo entro il quale il calcolo va portato a termine. Personalmente uso sempre questa funzione e la trovo ormai indispensabile.
Notiamo anche che, se si studia bene il DMC Calculator di Akin Bilgic, ci si accorge dopo pochi click che con questa quantità di campioni a disposizione non ha più senso aumentare le subdivs locali di luci e materiali se non al di sopra di certi valori. Il motivo di questo dipende dal “Min Shading Rate”; infatti:
CAMPIONI PRIMARI (AA – Image Samples) CAMPIONI SECONDARI (DMC Samples)
Se Min Shading Rate = 1
Se Max.Subdivs = 100
e lasciamo tutti gli altri parametri come proposti di default
Se Min Shading Rate = 6 (default di V-Ray 3.4)
Se Max.Subdivs = 100
e lasciamo tutti gli altri parametri come proposti di default
Image Samples (AA) = 10.000 samples per pixel
DMC Samples = 10.000 samples per pixel
Image Samples (AA) = 10.000 samples per pixel
DMC Samples = 60.000 samples per pixel
Il corretto settaggio del Min Shading Rate è quello che fa la differenza.
Quelli che seguono sono niente più che i miei appunti di studio basati sulle fonti che ho citato sopra. Sono presenti delle integrazioni focalizzate sulla versione di V-Ray 3.4 per Cinema 4D e su quello che è il mio flusso di lavoro per arrivare all’ottimizzazione dei settaggi di AA e DMC Sampler. Per me sono stati utili per capire a che cosa servono AA e DMC Sampler, e spero che siano di qualche utilità anche per altri.
IMPORTANTE = VIENE AFFRONTATO SOLO IL “PROGRESSIVE” come “SAMPLER TYPE”, ogni considerazione è legata all’utilizzo di questo metodo.
In buona sostanza il Min Shading Rate fa da moltiplicatore.
Sappiamo che i campioni primari sono il quadrato delle “Max.Subdivs”, e quindi se il “Min Shading Rate” è pari a “6” vuol dire che i campioni secondari saranno pari a 6 volte il numero dei campioni primari.
Il Min Shading Rate ci dice quanta “energia” verrà spesa per il calcolo dei campioni secondari rispetto a quelli primari. Se metto M.S.R.=1 il rapporto è perfettamente bilanciato: tanti sono i campioni primari e tanti saranno i campioni secondari. 

1.0 – Introduzione

Da ogni punto di intersezione tra un raggio primario (quello inviato dalla camera) e la geometria della scena vengono poi inviati i raggi secondari (Secondary Rays). Questi raggi sono essenziali perché controllono informazioni come Luci, Ombre, Global Illumination, Riflessioni, Rifrazioni, Sub-surface Scattering.

↑| Akin Bilgic | Raggi primari e secondari | Fonte https://www.cggallery.com/tutorials/vray_optimization/ |

Quindi possiamo dire:
Primary Rays: sono demandati al controllo delle geometrie, della qualità delle Textures, della Profondità di Campo (Depth of Field) e del Motion Blur, e vengono controllati dal pannello delle AA. I raggi primari raccoglieranno i campioni primari (Primary Samples o anche Image Samples – AA).
Secondary Rays: demandati al controllo di Luci, Ombre, GI, Riflessioni, Rifrazioni, SSS, e vengono controllati dal pannello del DMC Sampler. I raggi secondari raccoglieranno i campioni secondari (Secondary Samples o anche DMC Samples).
TENIAMO ANCHE A MENTE che la dimensione dell’immagine influisce molto sulla qualità delle AA. Prima di modificare i settaggi, sarebbe buona cosa fare un test aumentando la dimensione dell’immagine di rendering. Spesso nel mio workflow isolo l’oggetto con problemi e faccio un test impostando una dimensione di almeno 1,5/2K. Non occorre calcolare tutta l’immagine, possiamo anche concentrarci su una parte e risparmiare del tempo.

2.0 – Antialiasing (V-ray’s Image Sampler)

Come detto sopra, questa tabella controlla i Primary Rays, ovvero i raggi inviati dalla camera utili a descrivere le geoemtrie presenti nella scena, ma anche le Textures, la Profondità di Campo e il Motion Blur.

Nella prima sezione ci sono tre scelte possibili per il Sampler Type:

↑| Sampler Type | Finestra dei settaggi di Antialiasing in Vray 3.4 per Cinema 4D. I parametri impostati sono quelli di default |

Tra le opzioni disponibili abbiamo:
Bucket
Adaptive Subdivision
Progressive Image Sampler
Di seguito analizzeremo il Sempler Type “Progressive Image Sampler”.
Questo metodo è impostato di default dalla versione 3.4, e personalmente lo trovo di grandissima utilità anche per la possibilità di impostare un tempo entro il quale il rendering debba essere calcolato. Se le tempistiche sono limitate, anche avere un immagine calcolata in poco tempo, magari non perfetta, leggermente scalettata sui bordi, può comunque andare bene a patto di essere in grado di gestire bene la post-produzione.

2.1 – COME INDIVIDUARE RAPIDAMENTE I PROBLEMI DI SCALETTATURA DEI BORDI (e da dove provengono)

Sia all’interno della finestra standard di Cinema 4D che nel V-Ray Frame Buffer è possibile visualizzare in tempo reale lo stato di avanzamento del rendering e dei singoli canali verificando in modo veloce la presenza di eventuali problemi.
Naturalmente bisogna prima individuare i canali desiderati all’interno del Multipass di V-Ray.

↑| V-Ray Multipass Manager | Prima di inserire i canali necessari bisogna attivare il “multipass” e i “post effetti” all’interno dei settaggi di rendering |

↑| V-Ray Multipass Manager | Con il salvataggio dei settaggi possiamo ogni volta ricaricare le nostre impostazioni senza dover riconfigurare il tutto |

Il settaggio effettuato comporta del tempo. Io ritengo utile salvarlo (Save Setting) e ricaricarlo (Load Setting) ogni qual volta possa servire.
Successivamente:
1) Aspettiamo che l’immagine raggiunga una qualità decente per fare delle prime valutazioni;
2) Se vediamo dei problemi andiamo sul canale “Sample Rate” perchè in questo modo possiamo già avere nozione delle zone più problematiche. Infatti, è importante ricordare che:
  • Il canale BLU indica le aree che hanno raggiunto il livello desiderato di qualità con pochi Primary Samples;
  • Il canale VERDE indica le aree che hanno richiesto un maggior numero di campioni per ottenere un buon livello di pulizia, rispetto alle aree in BLU;
  • Il Canale ROSSO indica le aree che non sono riuscite a raggiungere la soglia di pulizia impostata con il Noise Threshold.
Ovviamente il nostro obiettivo è quello di fare in modo di spostare le aree rosse all’interno di quelle verdi, nella maggior misura possibile e compatibilmente con le nostre esigenze di tempo e con le nostre dotazioni in termini di hardware. Per effettuare questa procedura in modo efficace è necessario individuare i problemi e soprattutto individuarne l’origine.

↑| Sample Rate | Canale Sample Rate in fase di calcolo. I colori permettono di individuare le aree con maggiori problemi |

↑| Render Test 01 | Immagine in fase di calcolo. Con le impostazioni proposte di default |

2.2 – Il Sample Rate e i canali visibili con il V-Ray Frame Buffer

Qui sotto riportiamo delle immagini estrapolate dal V-Ray Frame Buffer relative ad alcuni canali. Il calcolo è stato effettuato con in parametri di default con risoluzione di 720x720 px. Come puoi vedere il Sample Rate non contiene aree rosse (o almeno non visibili con questa risoluzione), quindi i campioni sono stati sufficienti per ottenere un immagine pulita.

↑| V-Ray Frame Buffer | Canali estratti dal V-Ray Frame Buffer. All’interno del VFB possiamo scorrere i diversi canali presenti (impostati in precedenza con il multipass manager) |

Sotto riportiamo la sequenza temporale del Sample Rate.

↑| Sample Rate | Sequenza temporale del Sample Rate. Le aree rosse tendono progressivamente a scomparire con l’avanzamento del calcolo |

Notiamo che – in genere – è difficile ottenere risultati cattivi con i parametri di default. Ricordo che le Max. Subdivs sono settate a “100” che è un valore altissimo, spesso spropositato. A parità di tempi di calcolo (e di risorse impiegate), è più intelligente migliorare i parametri del DMC Sampler piuttosto che avere un Valore di Max. Subdivs così alto.
Rimane scontato che se l’hardware non è un problema ci si può permettere di lavorare con i parametri di default senza fare alcun lavoro di ottimizzazione.

2.3 – Antialiasing Filter

Il filtro applica una sfumatura ai bordi. Non sono per niente contrario all’utilizzo dei filtri, anzi sono convinto che una leggera e ponderata sfocatura dei bordi aumenti il livello di realismo notevolmente. Chiunque si occupi di fotografia può ben comprendere che immagini perfettamente nitide non esistono.
Il problema come al solito sono i tempi di calcolo.
Il mio consiglio rimane quello di usare i filtri per immagini grandi, almeno 2K.
Il mio preferito è il filtro “area” con i parametri di default e lo applico ad immagini definitive a 4K.
Una piccola sfocatura può anche servire a mascherare dei problemi di AA senza dover intervenire sul numero di campioni (che significarebbe più tempo per il calcolo).
NEL NORMALE WORKFLOW LAVORATIVO, e soprattutto se le immagini non devono avere alta risoluzione, POSSIAMO LASCIARE IL PARAMETRO DISATTIVATO.
Non dimentichiamoci che la sfocatura può essere gestita anche in post-produzione.
Antialiasing Filter | Filtro "Area". A sx il filtro è disabilitato. Nell'immagine centrale risulta attivo il filtro "area" con raggio pari a 1.5 e nell'immagine a dx il raggio è pari a 5

↑| Antialiasing Filter | Filtro “Area”. A sx il filtro è disabilitato. Nell’immagine centrale risulta attivo il filtro “area” con raggio pari a 1.5 e nell’immagine a dx il raggio è pari a 5 |

2.4 – Progressive Image Sampler

Questo metodo è quello che viene proposto di default da V-Ray.
L’immagine viene continuamente rifinita attraverso vari passaggi fino ad arrivare a termine. Risulta abbastanza veloce e possiede il vantaggio di offrire un anteprima dell’immagine in tempi rapidi. In tal senso è adatto per fare delle valutazioni immediate e magari interrompere il calcolo del rendering nel caso in cui si dovessero ravvisare problematiche evidenti fin da subito.

Pro

1) Anteprima veloce dell’immagine;
2) Possibilità di definire un tempo massimo entro il quale portare a termine il calcolo dell’immagine;
I parametri essenziali da settare sono le Max. Subdivs, il Noise Threshold e il Max. render Time:

↑| Progressive Image Sampler | I parametri essenziali sono 3 |

2.4.1 – Min Subdivs e Max Subdivs

V-Ray propone un valore di “Max. Subdivs” pari a “100” che di solito risulta molto elevato. 
Teniamo presente che il numero effettivo di campioni considerato per ogni pixel corrisponde al quadrato del valore impostato, e quindi se le “Max. Subdivs” sono pari a “100” il numero di campioni effettivo per pixel sarà pari a “100x100=10.000”.
Per esperienza un valore compreso tra 4 e 8 risulta già sufficiente per avere un risultato decente. In genere non è necessario modificare il valore di “Min. Subdivs” in quanto questo rallenterebbe i tempi di calcolo; inoltre V-Ray lavora in modo intelligente e deciderà da solo quando usare più o meno campioni sulla base del valore di soglia imposto con il “Noise Threshold”. Potrebbe darsi (come in effetti succede) che alcune aree dell’immagine necessitino del solo numero minimo di campioni (ovvero quelli definiti dalle “Min. Subdivs”) e quindi generalmente conviene lasciare il valore a “1”.

2.4.2 – Noise Threshold

Questo parametro controlla il “rumore” o “noise” dell’immagine.
Il termine “threshold” letteralmente potrebbe essere tradotto con “soglia”, e quindi “Noise Threshold” indica la soglia di pulizia o soglia del rumore dell’immagine.
In sostanza questo valore di soglia dice al motore di rendering se in una certa zona servono dei campioni aggiuntivi. Ovviamente, per aumentare il numero di campioni bisogna agire sul valore di “Max.Subdivs”.
Se variamo il valore delle Max.Subdivs ma lasciamo costante il “Noise Threshold”, potrebbe non cambiare nulla.

↑| Noise Threshold | Cambiando le Max. Subdivs, ma lasciando costante il Noise Threshold, si potrebbe ottenere lo stesso risultato |

Io in genere non uso valori di “Noise Threshold” particolarmente bassi. Per il mio modo di vedere le immagini, un pò di rumore è fondamentale.
Se non sappiamo che valore impostare possiamo sfruttare la possibilità di V-Ray di limitare il tempo di calcolo entro un certo tempo e impostare il “Noise Threshold” a “0” per essere sicuri che il computer lavori per tutto il tempo che è stato programmato. Infatti, se impostiamo un tempo di calcolo pari a 30 min e un “Noise Threshold” pari a “0,002” potrebbe anche darsi che il calcolatore (a seconda della propria dotazione hardware) riesca a raggiungere quella soglia di pulizia prima del tempo fissato.
Se impostiamo il “Noise Threshold” uguale a “0” senza definire un arco di tempo, il calcolo del rendering non avrebbe fine.
Il “Noise Threshold” è spesso responsabile di tempi di calcolo alti.
Nelle immagini che seguono abbiamo impostato un valore di “Max.Subdivs” pari a “8”, e variato solo il valore del “Noise Threshold”. Gli altri parametri sono stati mantenuti identici per ogni immagine.
Noise Threshold | Il rumore dell'immagine tende a diminuire con valori bassi. Il valore delle Max. Subdivs è sempre pari a "8"

↑| Noise Threshold | Il rumore dell’immagine tende a diminuire con valori bassi. Il valore delle Max. Subdivs è sempre pari a “8” |

Render Test 02 | Noise Threshold = 0.01 e Max. Subdivs = 8

↑| Render Test 02 | Noise Threshold = 0.01 e Max. Subdivs = 8 |

Ritengo interessante visualizzare l’effetto dell’immagine con un valore di “Noise Threshold” abbastanza alto come ad esempio “0.5”; viene fuori una “grana” che ricorda molto la pellicola e che – a mio avviso – rende molto realistica l’immagine. Per chi ama la fotografia dei grandi maestri è quasi impossibile pensare a un immagine priva di “grana” e di sfocato. Giudicate voi stessi:

↑| Robert Capa. Barcelona. Spain. 1936 | Fonte https://pro.magnumphotos.com/ |

↑| Henri Cartier-Bresson. MEXICO. 1963. Popocatepetl. Volcano | Fonte https://pro.magnumphotos.com/ |

Ho preso le immagini da https://pro.magnumphotos.com/

2.4.2.1 – Conviene aumentare il Noise Threshold oppure agire sulle Max. Subdivs?

Come viene detto nelle risorse ufficiali di V-Ray, conviene aumentare le “Max. Subdivs” se il rendering presenta ancora del rumore e in questo modo verrà anche ottimizzato il tempo di calcolo, oppure si può aumentare il “Noise Threshold” se l’immagine di rendering è pulita ma occorre troppo tempo per calcolarla.

2.4.3 – Ray Bundle Size

Se usiamo un solo pc per i nostri calcoli non serve modificare questo parametro.
Valori alti consentono una migliore performance del CPU Slave associato a ogni nodo di rendering.

3.0 – DMC Sampler

↑| DMC Sampler | Scheda del DMC Sampler all’interno di V-ray 3.4 per Cinema 4D |

Ricordiamoci che questa scheda è demandata al controllo dei Secondary Rays, ovvero quei raggi attraverso i quali si elaborano le informazioni relative a Luci, Ombre, GI, ecc…
Nella maggioranza dei casi è meglio diminuire i parametri della scheda AA e aumentare quelli della scheda del DMC Sampler; con lo stesso impegno in termini di hardware si possono ottenere dei risultati migliori.
Come abbiamo visto nella premessa, questa operazione è agevolmente fattibile con l’aumento del “Min Shading Rate”.
Analizziamo nel dettaglio i parametri:
1) Adaptive Amount
Questo parametro interviene sul “Min Samples”.
Se impostiamo il valore pari a “0” significa che verranno utilizzati tutti i campioni disponibili.
Se impostiamo il valore pari a “0.5” significa che verrano utilizzati il 50% dei campioni a disposizione, e così via.
2) Minimum Samples
Questo valore determina la quantità di campioni utilizzati per elaborare le informazioni. Il numero reale dei campioni è sempre pari al quadrato di quello indicato nella scheda, ad esempio un valore di 16 “Min. Samples” significa avere ben “256” campioni per ogni pixel.
Il “Minimum Samples” ha anche la funzione di fornire il numero minimo di campioni da utilizzare nel caso in cui “Adaptive Amount” sia impostato uguale a “1”. Si potebbe definire come un parametro di sicurezza.
3) Global Subdiv Multipler

A livello globale, con questo parametro, possiamo definire un moltiplicatore per tutte le nostre subdivs. Non dimentichiamoci che se il valore del “Min Shading Rate” e/o quello del le “Max. Subdivs” risultano alti, le modifiche sul “Global Subdiv Multipler” non avranno efficacia se non oltre un certa soglia. Per convincerci di questo basta fare degli esperimenti sul DMC Calculator (https://www.cggallery.com/tutorials/dmc_calculator/).

↑| Specular Layer Parameters | Scheda interna al canale “Specular Layer” dentro un “V-ray Adv. Material” |

Nei materiali, ma anche in altri parametri, il valore delle subdivs di default è pari a “8”.
Se un materiale ha già avuto una modifica dei settaggi, per esempio l’aumento delle “Glossiness Subdivs”, è evidente che il “Global Subdiv Multipler” interverrà sul valore modificato. Attenzione: Il “Global Subdiv Multipler” si intende come valore assoluto e quindi non va considerato il suo quadrato come nel caso dei Samples.
4) Noise Threshold
Similmente a quanto visto nella scheda di Antialiasing, questo parametro definisce una soglia di pulizia dell’immagine definendo una soglia di campioni aggiuntivi che tenderanno a salire quanto più basso sarà il valore. Il valore di 0.005 è già molto basso e il consiglio è di non andare al di sotto.
Ricordiamoci che siamo dentro la scheda del DMC Sampler, questo valore non agisce sulla pulizia della geometria ma su altri aspetti (Luci, Ombre, GI, Riflessioni, ecc.).

4.0 – E il rapporto tra Primary Rays e Secondary Rays?

Come sono interconnessi i valori inseriti dentro le schede di Antialiasing e di DMC Sampler?

Come abbiamo già detto sopra, nei materiali e nelle luci il valore delle “subdivs” di default è pari a “8”; quindi sappiamo che i campioni utilizzati sono pari a “64” (il quadrato delle “subdivs”). Quindi quanti sono i Secondary Samples effettivi?

I secondary samples sono quelli definiti nell’ambito del DMC Sampler, il motore di calcolo divide i campioni utilizzati per luci e materiali (e tutto quanto altro gestito dal DMC Sampler) per il numero di campioni definiti cone le “Max. Subdivs” dentro la scheda delle AA.

Facciamo un esempio pratico:

↑| Tabella 02 | Rapporto tra Primary Rays e Secondary Rays |

↑| V-Ray Bridge | Scheda dei settaggi di rendering di V-Ray con i parametri della Tabella 01 |

Facciamo una piccola variante:

↑| Tabella 02 | Rapporto tra Primary Rays e Secondary Rays |

↑| V-Ray Bridge | Scheda dei settaggi di rendering di V-Ray con i parametri della Tabella 02 |

Il “Divide Shading Subdivs”, come è evidente, gioca un ruolo importante. Se il parametro è attivato il numero di campioni secondari diminuisce in modo proporzionale all’aumentare dei campioni primari. Tuttavia se il “Min Shading Rate” viene impostato uguale a “1“ il numero di campioni primari sarà del tutto identico al numero di campioni secondari e se il “Min Shading Rate” sale allora il numero di campioni secondari salirà di conseguenza e sarà più alto del numero di campioni primari.
QUINDI COSA FARE?
Bisogna semplicemente valutare i diversi canali dell’immagine. Se ad esempio il problema è nelle riflessioni bisognerà alzare il “Min Shading Rate”, ma se il problema è nelle geometrie si può provare ad aumentare il numero delle “Max. Subdivs” e diminuire il “Min Shading Rate” per ottimizzare i tempi di calcolo. Questa semplice regola è essenziale per arrivare a un buon settaggio.

L’importanza del Min Shading Rate

Questo è il parametro che io uso maggiormente.
Una volta definita la giusta quantità delle “Max. Subdivs” per ottenere una geometria pulita, se ad esempio ci sono problemi con le riflessioni non faccio altro che aumentare il “Min Shading Rate”. 

 

Come abbiamo già detto:

  • Se il “Min Shading Rate” è uguale a “1”, il numero di campioni primari e secondari per pixel sarà lo stesso;
  • Se il valore sale a “2”, i campioni secondari saranno esattamente il doppio di quelli primari;
  • Se il valore sale a “3”, i campioni secondari saranno esattamente il triplo di quelli primari e così via.

Se ci si ricorda di questa regola si potrà fare a meno di intervenire sui parametri locali. Non dimentichiamoci che se ravvisiamo la presenza di troppo rumore possiamo agire comodamente sul “Noise Threshold” (sia all’interno delle AA che all’interno delle DMC Sampler) e così facendo permetteremo a V-Ray di lavorare in modo intelligente usando i campioni a disposizione solo quando necessario. Se abbassiamo molto il “Noise Threshold” e non vediamo miglioramenti, potrebbe essere necessario intervenire sull’ “Adaptive Amount” che regola la quantità di campioni minimi; più basso sarà il valore e più campioni verranno presi. In genere il valore di default di “0,85” va già bene.

5.0 – In Sintesi

  1. Non dimentichiamo che spesso i problemi di AA sono legati alle dimensioni dell’immagine. Per testare la qualità di un immagine bisogna alzare un pò la risoluzione;
  2. Quando è il caso di agire sul pannello delle Antialiasing? Quando occorre migliororare la definizione delle geometrie, la qualità delle Textures, la Profondità di Campo (Depth of Field) e il Motion Blur. Le geometrie molto dettagliate richiedono molti più campioni primari (pensiamo ai fili d’erba ad esempio). Anche una mappa usata sotto il canale “Bump” (che comunque è riconducibile alle geometria) potrebbe richiedere molti campioni primari, se si tratta di una mappa molto dettagliata. Per quanto riguarda il “Depth of Field” di V-Ray, ricordiamoci anche che il canale “Z-Depth” dentro il “V-Ray Multipass Manager” può aiutare a risparmiare risorse in quanto consente di applicare la sfocatura in post-produzione.
  3. Quando è il caso di agire sul pannello del DMC Sampler? Quando devo migliororare la definizione di Luci, Ombre, GI, Riflessioni, Rifrazioni, SSS.
  4. Se i bordi degli oggetti sono puliti non ha senso intervenire sull’Antialiasing, bisogna invece intervenire sul DMC Sampler.
  5. Maggiori sono le subdivs presenti nella nostra scena per Luci, GI e Materiali, ecc. e tanto maggiore sarà il numero di campioni secondari. Queste “Subdivs” sono anche chiamate suddivisioni locali (Local Subdivs). Non dimentichiamoci che se i valori di “Max.Subdivs” e di “Min Shading Rate” sono già alti, non servirà aumentare la quantità delle suddivisioni locali a meno di non andare su valori molto elevati. 
  6. Serve aumentare in modo indiscrimato le Subdivs di tutti i materiali presenti nella scena? No, assolutamente. Per capire dove è il caso di fornire campioni aggiuntivi bisogna prima valutare il “Sample Rate”. I materiali che ricadono nelle aree rosse sono quelli che hanno bisogno di più campioni. Una scena ben ottimizzata dovrebbe avere (tenpo permettendo) tanti valori di “Subdivs” quanti sono i materiali presenti. Ricordiamoci anche che Specularità e Rifrazione, soprattutto quando i valori sono molto bassi, possono creare rumore. Un materiale con un glossiness molto alto produrrà molto meno rumore dello stesso materiale con un glossiness molto basso. Lo stesso si può dire per il valore del Fresnel IOR.
  7. Non scordiamoci (come spesso abbiamo detto – ma è davvero importante tenerlo a mente) che alzare le “Local Subdivs” non servirà a molto se le “Max.Subdivs” delle AA sono già alte. Questa cosa è davvero fondamentale da capire. Il mio consiglio è quello di prendere confidenza con il “DMC Calculator” (https://www.cggallery.com/tutorials/dmc_calculator/); è il modo più immediato per comprendere come i diversi parametri sono legati fra loro.

6.0 – Il metodo di Akin Bilgic

Anche se un pò datato (parliamo del 2014) il metodo messo a punto dal 3D Generalist Akin Bilgic (https://www.cggallery.com/tutorials/vray_optimization/) risulta ancora molto efficace. Precisiamo anche che verranno apportate alcune varianti in quanto Akin Bilgic ha usato 3D Studio Max mentre noi useremo Cinema 4D. Sebbene il motore di rendering sia lo stesso i parametri hanno qualche differenza.
Impostiamo una dimensione dell’immagine di rendering non troppo alta e proviamo a riassumere i passi di questa procedura:
  1. Andiamo nella scheda “Options” di V-Ray e disattiviamo: “Lights”, “Shadows”, “Reflection/Refraction”, “Glossy Effects”;

↑| Metodo di Akin Bilgic | Scheda dei settaggi di rendering di V-Ray con i parametri di partenza |

  1. Disattiviamo la GI e lasciamo attiva l’opzione “Off with GI” nella scheda “Options”;

↑| Metodo di Akin Bilgic | Disattivazione della GI |

  1. A questo punto andiamo nel “V-Ray Multipass Manager” e impostiamo i canali relativi GI, Lighting, Specular, Refraction, Reflection, Sample Rate:

↑| Metodo di Akin Bilgic | Inserimento dei canali all’interno del Multipass Manager |

  1. L’immagine dovrebbe apparire come quella che segue:

↑| Metodo di Akin Bilgic | Render Test 03. Immagine test dove risultano attive solo le luci di default |

  1. A questo punto dobbiamo anzitutto fare in modo che la geometria di tutti gli elementi della scena risulti pulita. A tal fine è utile la valutazione del “Sample Rate”. Non dovremo fare altro che aumentare i valori di “Max Subdivs” fino a quanto i contorni delle geometrie non risulteranno puliti, ovvero fino a quando le aree rosse del “Sample Rate” non risulteranno nulle o trascurabili.

↑| Metodo di Akin Bilgic | Valutazione del Sample Rate (a sx abbiamo impostato Max Subdivs = 10, al centro Max Subdivs = 30, a dx l’immagine normale) |

  1. Adesso riattiviamo nella scheda “Options” di V-Ray: “Lights” e “Shadows” e facciamo un test.

↑| Metodo di Akin Bilgic | Render Test 04. Immagine test con luci e ombre riattivate |

Metodo di Akin Bilgic | Luce usata per la scena

↑| Metodo di Akin Bilgic | Luce usata per la scena |

Dovremo aumentare le Local Subdivs delle luci fino a quando l’immagine non sarà pulita. Nel nostro caso i valori di default vanno bene.

  1. Riattiviamo anche la GI, e facciamo ancora un test:

↑| Metodo di Akin Bilgic | Render Test 05. Immagine test con la GI riattivata |

GI | Brute Force GI + Light Cache. Vengono lasciate le impostazioni di default per le subdivision

↑| GI | Brute Force GI + Light Cache. Vengono lasciate le impostazioni di default per le subdivision |

Dovremo aumentare i valori della GI fino a quando l’immagine non risulterà pulita. Nel nostro caso i valori di default vanno bene. Come notiamo la presenza della GI non cambia molto il risultato, questo avviene in quanto l’oggetto “galleggia” nello spazio. Se dovessimo avere qualche dubbio, per fare una verifica basterebbe inserire delle superfici utili a permettere il rimbalzo dei raggi luminosi. Nelle immagini sotto abbiamo sostituto la mappa HDRI usata come fonte di illuminazione all’interno di una “V-Ray Area Dome Light” con una semplice luce “V-Ray Area Rectangle Light” e poi aggiunto un piano utile ad offrire una superficie di rimbalzo per i raggi luminosi.

↑| Settaggio della Scena | Impostazioni utilizzate per le immagini “Render Test 06/07” a seguire (una sola fonte di luce e un piano di rimbalzo) |

Metodo di Akin Bilgic | Render Test 06. Immagine test senza GI realizzata con le impostazioni illustrate sopra

↑| Metodo di Akin Bilgic | Render Test 06. Immagine test senza GI realizzata con le impostazioni illustrate sopra |

Metodo di Akin Bilgic | Render Test 07. Immagine test con GI realizzata con le impostazioni illustrate sopra

↑| Metodo di Akin Bilgic | Render Test 07. Immagine test con GI realizzata con le impostazioni illustrate sopra |

  1. Adesso riprendiamo il nostro set iniziale con la “V-Ray Area Dome Light”, riattiviamo nella scheda “Options” di V-Ray: “Reflection/Refraction” e “Glossy Effects”, e facciamo il test definitivo.
Metodo di Akin Bilgic | Render Test 08. Test definitivo con tutti i parametri riattivati

↑| Metodo di Akin Bilgic | Render Test 08. Test definitivo con tutti i parametri riattivati |

Metodo di Akin Bilgic | Render Test 09. Test definitivo con tutti i parametri riattivati. Abbiamo usato uno focale più lunga per inquadrare un dettaglio e verificare meglio la bontà dei risultati ottenuti.

↑| Metodo di Akin Bilgic | Render Test 09. Test definitivo con tutti i parametri riattivati. Abbiamo usato uno focale più lunga per inquadrare un dettaglio e verificare meglio la bontà dei risultati ottenuti |

↑| Metodo di Akin Bilgic | Parametri “DMC Sampler” usati per il calcolo delle immagini definitive (Render Test 08/09) |

Prima di modificare i parametri della scheda “DMC Sampler” che agiscono su tutta la scena, ricordiamoci che possiamo intervenire sulle suddivisioni locali per luci e materiali.

Specular Layer | Scheda di uno dei materiali presenti nella scena. All’interno del canale “Specular” possiamo andare a impostare il valore per le suddivisioni locali che di default sono uguali a “8”

↑| Specular Layer | Scheda di uno dei materiali presenti nella scena. All’interno del canale “Specular” possiamo andare a impostare il valore per le suddivisioni locali che di default sono uguali a “8” |

Light Dome | Non dimentichiamo che le alte luci influiscono anche sulle alte luci speculari e quindi potrebbe essere necessario tornare a ritoccare i valori delle subdivs delle luci presenti nella scena

↑| Light Dome | Non dimentichiamo che le alte luci influiscono anche sulle alte luci speculari e quindi potrebbe essere necessario tornare a ritoccare i valori delle subdivs delle luci presenti nella scena |

  • Sopra abbiamo elencato tutti i passaggi proposti da Akin Bilgic. Alcune incoerenze sono dovute alle differenze tra la versione di V-Ray per 3 Studio Max e quella per Cinema 4D.
  • Se agiamo localmente su ogni luce e materiale il lavoro di settaggio sarà più impegnativo ma la scena risuletà maggiormente ottimizzata.
  • Non dimentichiamo che se le “Max. Subdivs” all’interno della scheda “AA” sono già alte, ha poco senso intervenire sulle “Local Subdivs”, infatti se replichiamo i parametri della nostra scena all’interno del “DMC Calculator” di Akin Bilgic (https://www.cggallery.com/tutorials/dmc_calculator/) queste sono le condizioni:
Metodo di Akin Bilgic | DMC Calculator con i parametri usati nella nostra scena (Local Subdivs = 8)

↑| Metodo di Akin Bilgic | DMC Calculator con i parametri usati nella nostra scena (Local Subdivs = 8) |

Metodo di Akin Bilgic | Aumentando le Subdivs a 64 non cambia nulla

↑| Metodo di Akin Bilgic | Aumentando le Subdivs a 64 non cambia nulla |

Metodo di Akin Bilgic | Se aumentiamo anche il Global Subdivs Multipler abbiamo anche un aumento del numero di campioni secondari

↑| Metodo di Akin Bilgic | Se aumentiamo anche il Global Subdivs Multipler abbiamo anche un aumento del numero di campioni secondari |

Possiamo agevolmente renderci conto che – sulla base dei valori già impostati nella scheda “AA” – per aumentare il numero dei campioni secondari per pixel servirà portare le “Local Subdivs” a un valore molto alto.
Infine, ricordiamoci di fare un ulteriore prova aumentando il tempo a disposizione per il calcolo dell’immagine. Dopo aver fatto le dovute ottimizzazioni, se si continua ad alzare i parametri – ma il tempo impostato è sempre lo stesso – è evidente che la qualità non potrà più salire.
Io ho utilizzato alcune volte questo metodo, quando i tempi di calcolo erano decisamente troppo alti.

7 – Le mie impostazioni

Il metodo di Akin Bilgic è il migliore che si possa seguire, ma comporta comunque del tempo che non sempre abbiamo. Ciascuno di noi, sulla base della propria sensibilità ed esperienza di utilizzo del software, può costruirsi un metodo. Voglio condividere quello che sono solito utilizzare per il mio lavoro.
I miei settaggi di partenza sono questi:

↑| Il mio metodo | Settaggi di partenza |

I campioni sembrano pochi ma se avete la pazienza di fare alcuni calcoli vedrete voi stessi che sono presenti 64 campioni primari (AA) e 384 campioni secondari (DMC Sampler).
ATTENZIONE AL NOISE THRESHOLD. Come vedete ho impostato lo stesso valore sia nella scheda di AA che in quella del DMC Sampler. Sono entrambi valori abbastanza alti, li abbasso pian piano e difficilmente vado al di sotto di “0.01”. Il “Noise Threshold” influisce molto sui tempi di calcolo e quindi cerco subito di definire il valore al di sopra del quale non voglio andare. Faccio dei test su una o più porzioni dell’immagine per velocizzare i tempi, e trovo molto comodo lavorare con il “V-Ray Frame Buffer”:
V-Ray Frame Buffer | Test su una porzione dell'immagine

↑| V-Ray Frame Buffer | Test su una porzione dell’immagine |

V-Ray Frame Buffer | Attivazione del “Render History”

↑| V-Ray Frame Buffer | Attivazione del “Render History” |

Il Frame Buffer permette di salvare anche la cronologia delle immagini specificando una cartella o usando la posizione del file di progetto. Il mio consiglio è di usare sempre questa funzione.

Qualche volta risulta utile capire se un rumore eccessivo proviene dal “Noise Threshold” oppure dalle “Max. Subdivs” che sono troppo basse. Per risolvere il problema basta impostare il “Noise Threshold” a “0” (così si sfrutteranno tutti i campioni a disposizione) e fare un test, anche su un piccola porzione dell’immagine. Questa verifica è utile perchè ci informerà sulla massima pulizia ottenibile – all’interno di un determinato tempo – con un certo numero di campioni a disposizione. Sapremo quindi che quando aumenteremo il “Noise Threshold” la pulizia dell’immagine tenderà gradualmente a peggiorare.
Render Test 10 | Max.Subdivs = 1 - Noise Threshold = 0

↑| Render Test 10 | Max.Subdivs = 1 – Noise Threshold = 0 |

Render Test 11 | Max.Subdivs = 8 - Noise Threshold = 0

↑| Render Test 11 | Max.Subdivs = 8 – Noise Threshold = 0 |

Quando inizio a fare i miei test, attivo i canali di multipass come specificato sopra e procedo in questo modo:
  1. Definisco il “Noise Threshold” come abbiamo visto sopra;
  2. Disabilito le luci, le ombre, la GI, le riflessioni/rifrazioni, lasciando attive sole le luci di default;

↑| Il mio metodo | Parametri da disattivare |

  1. Controllo costantemente il canale del “Sample Rate” per vedere in tempo reale dove si concentrano maggiormente le aree rosse, questo è fondamentale;
  2. Aumento – se necessario – il valore delle “Max. Subdivs” fino ad ottenere una geometria pulita. Se vedo che aumentando molto le “Max. Subdivs” la qualità non migliora, diminuisco il “Noise Threshold” (dentro la scheda AA) fino ad ottenere il risultato desiderato;
  3. Riattivo tutti i parametri disabilitati in precedenza e verifico se occorrono altri campioni secondari. Se così dovesse essere aumento poco alla volta il “Min Shading Rate”. Se vedo che aumentando molto il “Min Shading Rate” la qualità non migliora, diminuisco il “Noise Threshold” (dentro il DMC Sampler) fino ad ottenere il risultato desiderato;
Inoltre, se i settaggi si dovessero alzare di molto senza ottenere sensibili miglioramenti, non dimentichiamo di fare alcune altre verifiche:
  1. Eseguiamo un test con una risoluzione maggiore per verificare se i problemi non siano dovuti alle dimensioni dell’immagine. Un test corretto dovrebbe essere fatto su un immagine di 1,5/2 K;
  2. Stiamo attenti a non alzare troppo l’intensità delle luci perchè potrebbero creare problemi – soprattutto in controluce. Facciamo anche attenzione a non sovraesporre troppo le mappe HDRI usate come fonte di illuminazione;
Infine:
  1. Non dimentichiamo che un pò di rumore aumenta (ma questo è solo un mio giudizio) il livello di realismo.
In genere non modifico le suddivisioni locali di luci e materiali. Abbiamo imparato che la loro efficacia è legata al numero di campioni primari e secondari. Quando ci sono dei dubbi basta fare una verifica sul DMC Calculator, risparmieremo del tempo prezioso.
Un altra considerazione vorrei farla per la GI.
Nei miei test ho utilizzato il metodo “Brute Force” come “Primary GI Engine”.
La GI, come abbiamo detto, è controllata all’interno della scheda DMC Sampler. Anche per la GI, se il valore delle “Max. Subdivs” è già alto, non ha senso aumentare il numero delle subdivs. Il risultato non sarà diverso, a meno di non spingersi su valori alti.

↑| Il mio metodo | Parametri da disattivare |

↑| Render Test 12 | Test con le Subdivs = 1 |

↑| Render Test 13 | Test con le Subdivs = 16 |

A ulteriore conferma mettiamo uguale a “1” anche il valore delle Subdivs della Light Cache, e questo è il risultato:

↑| Render Test 14 | “Brute Force GI” Subdivs = 1 / “Light Cache” Subdivs = 1 |

Questo è tutto.
Per completezza, questa è l’immagine definitiva della scena che abbiamo sfruttato come esempio dopo la post-produzione.
Test Finale | Con la post-produzione eseguita con Lightroom

↑| Test Finale | Con la post-produzione eseguita con Lightroom |

Pin It on Pinterest

Share This