Caratteristiche e differenza tra Post-processing e Motori di rendering

Caratteristiche e differenza tra Post-processing e Motori di rendering

Post-processing

Il punto del post-processing è ricreare le imperfezioni delle camere nel mondo reale, perché le camere hanno un gran numero di imperfezioni con cui i fotografi e filmmaker lottano ogni giorno, però queste imperfezioni sono presenti in ogni scatto o frame che si catturano, invece in CG (Computer graphics) le camere sono perfette e pulite, cosa che nel mondo reale è impossibile fisicamente. Dunque questo passaggio tratta di rendere un po’ imperfetti i render per farli passare più realistici.

Per questo è importante avere una conoscenza e dominio importante delle camere e le loro caratteristiche fisiche. Tra le imperfezioni fisiche che presenta una camera si possono elencare il bagliore (Glare), che quando si fa una foto, che ha nel frame una fonte di luce come il sole o una lampada, c’è questo bagliore che non è presente nel render, ma si può aggiungere nel post- processing facilmente. Un altro effetto non da meno è il Motion blur che abbinando alle conoscenze di fotografia, che in situazioni di scarsa luce l’otturatore deve stare aperto per una maggior quantità di tempo per riuscire a catturare la luce, si crea questo effetto di alone. Aggiungere questo effetto porta ad aumentare il carico di calcolo al computer quindi è consigliabile aggiungere solo nel post-processing il motion blur. Un’altro effetto molto importante è la profondità di campo o DoP (Depth of Field), questo in particolare non può mancare mai. L’aberrazione cromatica è un effetto che si ottiene con gli obiettivi di scarsa qualità, e si può evitare con obiettivi potenti, quindi bisogna avere cura di come impiegare questo effetto e quando applicarlo. E come ultimo c’è la distorsione della lente, e questo succede perché ogni lente ha una leggera curvatura che poi si manifesta nell’immagine finale, quindi anche qui la CG deve aggiungere queste imperfezioni per dare un tocco più fotorealistico.

Caratteristiche e differenza tra Post-processing e Motori di rendering

Motori di rendering

 Nell’industria del 3D ad oggi è possibile raggiungere livelli fotorealistici con qualsiasi motore di render, l’importante è la capacità che si ha quando si usa un motore o l’altro, anche se ci sono tre fattori che dettano la differenza tra i diversi motori di render che esistono nel mercato e sono la velocità, che va molto legata al tipo di motore (“biased” o “unbiased”) e alle risorse hardware in di cui fa uso il motore (GPU o CPU).

La differenza tra “biased” e “unbiased” sta nei tipi di algoritmi che usano i motori per simulare la luce, praticamente quelli “unbiased” sono “fisicamente precisi” cioè che ricreano la fisica della luce come nel mondo reale, In altre parole, nessun errore sistematico o “bias” viene intenzionalmente introdotto. Qualsiasi varianza si manifesterà come rumore, ma dato abbastanza tempo un render non distorto alla fine convergono in un risultato matematicamente “corretto”, e per questo hanno più limitazioni a livello di parametri, e sono meno tecnici.

I motori di rendering “biased” per il contrario fanno certe concessioni nell’interesse dell’efficienza. Introducono l’approssimazione del campione e usano un’interpolazione o sfocatura sottile per ridurre il tempo di rendering. Generalmente possono essere messi a punto e manipolati più degli “unbiased”, e con le conoscenze giuste può potenzialmente produrre un risultato accurato con un tempo di CPU significativamente inferiore.

Quindi, in definitiva, la scelta è tra un motore unbiased, che richiede più tempo di CPU ma meno ore per settare i parametri, o un motore biased che dà all’utente un controllo più ampio ma che presenta una curva di apprendimento più lenta.

Anche se ci sono sempre delle eccezioni alla regola, i motori unbiased funzionano abbastanza bene per le immagini fisse, specialmente nel settore della visualizzazione architettonica, tuttavia in grafica animata, film e motion graphics l’efficienza di un motore biased è solitamente preferibile, ma come sempre tutto dipende dall’utente.

In quanto alle GPU, l’accelerazione GPU è uno sviluppo relativamente nuovo nella tecnologia di rendering. I motori di gioco usano grafica basata su GPU da anni e anni, tuttavia, è abbastanza recente che l’integrazione della GPU è stata esplorata per l’utilizzo in applicazioni di rendering offline in cui è sempre stata usata la CPU.

Tuttavia, con la proliferazione diffusa della piattaforma CUDA di NVIDIA, è diventato possibile utilizzare la GPU in tandem con la CPU nei task di rendering offline, dando origine a una nuova entusiasmante ondata di applicazioni di rendering tra cui si trovano Indigo o Octane entrambi unbiased, o come Redshift tra quelli biased.

Infine, una considerazione si deve fare per il motore di rendering per eccellenza della Pixar, a un certo livello, Renderman si distingue un po’ dal discorso corrente. Si tratta di un’architettura di rendering unbiased basata sull’algoritmo di Reyes, creato più di 20 anni fa presso la Pixar Animation Studios.

Renderman è nel settore della grafica per computer, e nonostante la crescente concorrenza di Arnold di Solid Angle (un altro gigante nelle grandi produzioni), molto probabilmente rimarrà una delle migliori soluzioni di rendering di fascia alta.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *