Rendering: equazioni di rendering

Rubrica: Rendering -6-
Titolo o argomento: Equazioni di rendering

Si tratta di un’equazione ad opera di James T. Kajiya (introdotta nel 1986) che viene sfruttata dai motori di rendering che dispongono della G.I. Global Illumination. Questa equazione calcola la luce, presente in una particolare posizione, come la somma della luce emessa e della luce riflessa. Quest’ultima viene considerata come la luce riflessa proveniente da tutte le direzioni moltiplicata poi per il coefficiente di riflessione e l’angolo d’incidenza.

Trovi al seguente link la descrizione dettagliata dell’equazione di rendering:
http://it.wikipedia.org/wiki/Equazione_di_rendering

global_illumination_equazione_rendering.jpg

Rendering: particolarità del software unbiased

Rubrica: Rendering -5-
Titolo o argomento: Particolarità del software unbiased

Utilizzare un motore di rendering Unbiased non richiede particolari conoscenze nella regolazione dei parametri utili ad ottenere una scena quanto mai realistica. Questo perchè un software Unbiased nasce per ottenere sempre il miglior risultato possibile in termini di fotorealismo. Non si può quindi intervenire su alcun parametro che possa ridurre la qualità dell’immagine che vedremo a fine render. Se avessimo questa necessita utilizzeremmo ovviamente i motori di rendering Biased trattati in precedenza (link).

Al contrario un motore di rendering Unbiased, ossia “senza compromessi”, richiede buone conoscenze di fotografia. Questo perchè i valori che andremo a decidere noi saranno di tipo fotografico:

L’obiettivo usato, la sua lunghezza focale, l’apertura del diaframma, la profondità di campo….

I tempi di rendering dei motori Unbiased sono molto più elevati dei motori Biased. Questo perchè lavorano per ottenere sempre il massimo. Ovviamente il vostro Hardware inciderà in modo sostanzioso sui tempi di render.

La metodologia di rappresentazione del rendering avviene per affinamento stocastico. Il calcolo viene suddiviso per pixel. Questo produce una grana nell’immagine la quale viene ripulita con l’avanzare del calcolo.

A differenza degli “engine biased”, nei motori di rendering Unbiased la cura dei materiali assegnati agli oggetti è più che fondamentale. In quanto il loro comportamento quando vengono investiti dalla luce può incidere in maniera rilevante sul risultato ottenuto.

Con questo tipo di software dovrete quindi dedicarvi maggiormente alle conoscenze della fotografia ed alla realizzazione di materiali molto curati per ottenere discreti risultati e valorizzare questo tipo di scelta.

unbiased_b_articolo-ralph-dte.jpg

LINK utili

Su questo Blog sono presenti, tra le tante rubriche, due in particolare che parlano di fotografia. Si tratta di rubriche molto semplificate, ed alla portata di tutti, fondamentali per capire alcuni concetti espressi in tema di rendering:

  • Portare al limite una canon A540

  • Portare al limite una Reflex digitale

Scrivendo semplicemente il titolo della rubrica desiderata sulla casella di ricerca in alto a destra, è possibile attingere a tutti gli articoli al momento presenti in tema. Articoli che si aggiornano periodicamente. 😀

Rendering: particolarità del software biased

Rubrica: Rendering -4-
Titolo o argomento: Particolarità del software biased

Principale caratteristica di questi software è quella di poter selezionare l’algoritmo di render che riteniamo più corretto per il nostro lavoro. Gli attuali software 3d possiedono praticamente “di serie” tutti gli algoritmi di base per la rappresentazione tridimensionale di una scena. Questo significa che dalla semplice ombreggiatura di Goraud, al Phong, al Ray tracing, tutto è considerato come materiale di calcolo di cui proprio non si può fare a meno.

Oggi vengono inclusi anche algoritmi che considerano la luce indiretta evolvendo ulteriormente la tecnologia Biased. Si tratta di tecniche denominate Global Illumination che basano i loro calcoli su metodi come: Radiosity, Photon Mapping, fino al più preciso Path tracing o ancora al Micropolis light transport.

Gli engine Biased sono modulari, questo vuol dire che si possono tarare in modo indipendente tutti i parametri del rendering. Possiamo scegliere ad esempio il livello di campionatura dei contorni (percentuale di aliasing) o ancora la quantità di rimbalzi (bouncing) considerata nel conteggio dei singoli raggi di luce, ecc. In tal modo abbiamo la garanzia che la qualità del risultato ottenuto ed il tempo impiegato, sarà a nostra discrezione.

La tecnologia Biased quindi ci da la possibilità di raggiungere compromessi qualità/tempo sui nostri lavori. Va però considerato che tutto questo va a scapito del fotorealismo (in fondo non sempre necessario) che può essere ottenuto solo tramite engine Unbiased.

IMMAGINE IN REVISIONE

Soluzioni estremamente sofisticate possono addirittura eseguire rendering ibridi nei quali vengono utilizzati contemporaneamente più algoritmi di calcolo.

Continua…

Rendering: tipo biased e unbiased

Rubrica: Rendering -3-
Titolo o argomento: Rendering di tipo “biased e unbiased”

Biased e Unbiased sono termini che definiscono il tipo di algoritmo che viene utilizzato dal motore di rendering per raggiungere la soluzione del suo calcolo.  Fino a poco tempo fa erano disponibili solo software di tipo Biased ovvero quelli che sono disposti a scendere a compromessi tra la complessità dell’algoritmo ed il realismo dell’immagine che si può ottenere. In soldoni un software di tipo biased offre render con meno realismo e algoritmi meno complessi per venire incontro ad un hardware dalle prestazioni più limitate.

Con l’avanzare incessante della tecnologia, hardware dalle prestazioni eccellenti sono diventati molto più economici e disponibili persino per i normali utenti. Questo ha reso possibile la diffusione di software di tipo Unbiased eccezionalmente più fedeli nei risultati che riescono ad offrire ma con algoritmi di calcolo ben più complessi che necessitano di un hardware all’altezza della situazione. Naturalmente risultati più precisi si ottengono a scapito di tempi più lunghi di calcolo.

Il fatto che vi sia oggi la possibilità di eseguire calcoli mediante algoritmi di tipo Unbiased non significa che quelli di tipo Biased siano stati abbandonati. Tutto il contrario… Oggigiorno per creare le animazioni in tempi decenti si preferisce di gran lunga l’utilizzo di software di tipo Biased. La velocità di rendering per fotogramma è importantissima. Gli engine Unbiased prevalgono generalmente nel settore del fotorealismo e dello still-life.

IMMAGINI IN REVISIONE

Algoritmo di tipo Biased: presenta dei compromessi. Trattasi di un metodo di calcolo volutamente più limitato, meno dettagliato e più rapido. Foto a sinistra: esempio di render ottenuto mediante questo tipo di algoritmo.

Algoritmo di tipo Unbiased: Senza compromessi. Foto a destra.

Continua…

Rendering: gli algoritmi

Rubrica: Rendering -2-
Titolo o argomento: Gli algoritmi di rendering
Ray tracing

Basato sul percorso compiuto dalla luce, ne segue i raggi attraverso l’interazione con le superfici. Lavora a ritroso studiando e tracciando ed ipotizzando il percorso che luce può aver seguito prima di colpire una lente immaginaria. Le informazioni elaborate per ogni scena vengono acquisite mentre l’algoritmo spara dei raggi contro ogni oggetto della scena stessa. La riflessione, la rifrazione, l’assorbimento del raggio vengono calcolati nel momento in cui il raggio sparato dall’algoritmo colpisce un oggetto.

Radiosity

Un algoritmo che cerca di simulare la luce in modo realistico. Il fascio di luce che colpisce un oggetto viene in parte assorbito e in parte riflesso. Quando la luce si riflette si diffonde nell’ambiente della scena illuminando gli altri oggetti che incontra (luce riflessa). A loro volta gli oggetti illuminati con la luce riflessa possono diventare emettitori di luce riflessa o meno in base alle loro caratteristiche fisiche influenzando ovviamente la scena. Le caratteristiche della scena influenzate sono il colore e l’intensità della luce. Questo algoritmo prende in considerazione solo i percorsi che partono da una sorgente e vengono riflessi un determinato numero di volte prima di raggiungere l’occhio della telecamera.

Path tracing

Si tratta di un’estensione del Ray tracing che permette di ottenere effetti di illuminazione globale come i riflessi diffusi (color bleending) e le caustiche. In questo algoritmo ogni volta che la luce incontra una superficie lambertiana* (o diffusa) in un generico punto, viene lanciato un nuovo raggio che parte dal suddetto punto verso una direzione casuale. Viene poi effettuata in ogni punto una somma tra l’illuminazione del pixel preso in considerazione e l’illuminazione proveniente dalle intersezioni appena descritte.

*Superficie Lambertiana:

Una superficie lambertiana è una superficie ideale che riflette l’energia incidente in modo uguale in tutte le direzioni, per cui variando il punto di vista la sua apparenza non cambia. Ingrandendo un’area della superficie si può notare che essa è scabra (ruvida, frastagliata) quindi non vi sono angoli di riflessione ben definiti. Un raggio di luce che colpisce una superficie lambertiana si riflette seguendo la legge di Lambert sulla riflessione diffusa.

Ambient occlusion

Si tratta di una tecnica che incrementa il realismo della scena simulando l’attenuazione della luce negli ambienti chiusi. Il motivo principale per cui si sceglie questo algoritmo risiede nella velocità, ragione per cui nelle animazioni lo si preferisce alla più accurata (ma lenta) alternativa: Global illumination. Si renderizza quindi una scena in “chiaro scuro” e solo successivamente verrà effettuato il “Compositing” di cui parleremo in seguito in questa rubrica. 

Photon mapping

Ulteriore estensione del calcolo Ray tracing nel quale, invece di effettuare solo il percorso a ritroso della luce (dall’oggetto alla sorgente), viene effettuato anche calcolo del percorso naturale della luce (dalla sorgente all’oggetto). L’algoritmo salverà inoltre quella che viene definita MAPPA DEI FOTONI.

Metropolis light transport

Algoritmo che costruisce dei percorsi modificabili  tra l’occhio della camera di ripresa e la fonte luminosa. Vengono creati dei nodi che possono essere modificati e addirittura aggiunti a quelli calcolati dall’algoritmo stesso.