« Day 100 - Go Bears | Home | "Ambient occlusion" i… »

"Ambient occlusion" in CG

Ovvero come “spolverare” un modello digitale!

Scritto da Silicon_Simon.
Giovedì 12 Luglio 2012, 9:55 pm. Tag usati: , , ,

 

Complice Michele e il suo ponte, ho ripreso in questi giorni a trattare la tematica dell’ambient occlusion e le potenzialità di rappresentazione che questo semplice algoritmo grafico racchiude. In questo scritto vorrei tratteggiare pragmaticamente i concetti dietro l’occlusione ambientale e portare qualche esempio applicativo.

Ambient occlusion

Una tecnica molto interessante, quando ben applicata nei disegni di architettura per evidenziare i pieni e i vuoti, è quella del rendering con la sola ambient occlusion. Per una definizione più ampia del termine rimando alla pagina di Wikipedia, tuttavia per dovere di cronaca basti pensare che si tratta di una tecnica in grado di simulare l’ombreggiamento delle superfici, riproducendo un effetto di occlusione ambientale che simula l'illuminazione globale; se si immagina la luce diffusa che popola una scena (1) gli spigoli più o meno acuti tra i piani geometrici degli oggetti sono quelli meno investiti dal flusso luminoso. In altre parole la luce risente dell’occlusione degli elementi nell’ambiente, da cui il nome della tecnica. L’algoritmo grafico pertanto illumina in maniera differenziale le superfici, tenendo gradualmente in ombra le parti occluse.

Ambient occlusion

L'ambient occlusion permette di evidenziare molto bene i dettagli più minuti.

 

Per capire ancora meglio, si immagini di ricoprire di polvere nera (sarà lo shader) un modellino fisico in plastica bianca (l’ambiente): la luce si comporta come un pennello morbido che spazzola via la polvere nera. Dove le superfici si incontrano le setole fanno più fatica a rimuovere le particelle nere, così gli angoli rimangono “sporchi”.

E’ interessante notare che non c’è una sorgente luminosa univocamente e geometricamente definita, dal momento che il nostro pennello (l’ambient occlusion) tratta omogeneamente tutti i poligoni di un modello. Infatti questo modello di illuminazione prescinde da una luce fisica presente ma fa partire numerosi raggi luminosi dalle superfici: quando i raggi si perdono all’infinito (verso il cielo, questa tecnica viene anche chiamata “sky light” per questo motivo) la superficie di partenza viene schiarita, quando invece incontrano un ostacolo non aggiungono nessuna percentuale di illuminazione (2).

Le applicazioni sono varie ed interessanti: dal compositing finale in Photoshop (il layer di ambient occlusion può essere “moltiplicato” al layer di render convenzionale con i materiali per un migliore senso di profondità), fino al texture baking nei modelli interattivi (3). 

 .

Approfondimenti

Di seguito si riportano i link ad alcune pagine di approfondimento che ho scritto per applicare l'algoritmo di ambient occlusion in tre diversi ambienti molto conosciuti di modellazione 3D.

Ambient occlusion in Autodesk 3D Studio Max 2012

Ambient occlusion in Autodesk Maya 2012

Ambient occlusion in Blender

____________________________________

1 - In questo caso non quella diretta da sorgente a oggetto, bensì la componente di riflessione che si muove rimbalzando tra le superfici.
2 - L’occlusione è matematicamente una funzione di visibilità su una semisfera rispetto ad una proiezione di angolo solido.
3 - Il baking delle texture consiste nell’applicare un draping di immagini raster agli oggetti con tessiture che altro non sono che le porzioni di ambient occlusion pre-calcolate.

 

Nessun commento



(optional field)
(optional field)

In questo sito si attua la moderazione dei commenti. Questo significa che il tuo commento non è visibile finché non viene approvato da un moderatore.

Mantenere le informazioni personali?
Nota: Tutti i tag HTML eccetto <b> e <i> saranno rimossi dal commento. Puoi inserire collegamenti semplicemente scrivendo un URL o un indirizzo e-mail.

Info

Hai mai cercato un posto dove architettura, cultura geek e hardware vintage si incontrano davvero? Dal 2004 questo spazio è il laboratorio digitale di Simone Garagnani: qui si sperimentano idee, si collezionano storie nerd, si parla da tempo immemore di soluzioni BIM, rilievi digitali, computer graphics e retrocomputing. Ma non è nato tutto da solo: alle origini, fra i banchi universitari, c’erano anche Pasquale Squillace e Giuseppe Pernigotti. Da quei giorni, il blog è diventato una calamita per chi vuole sporcarsi le mani tra tecnologie d’epoca, cultura underground, digitalizzazione avanzata e creatività architettonica. Se ami la contaminazione tra passato, innovazione e un pizzico di ironia nerd, sei nel posto giusto.

 

Since 2004, this blog has been Simone Garagnani's digital playground - where geek culture, science, architecture, engineering ITs and vintage hardware come together. Here you can find hands-on experiments with retrocomputing, stories about underground nerd culture, and in-depth explorations of BIM, high-resolution digital surveying, and computer graphics for architecture, engineering, and construction. The blog was originally launched during my university years together with Pasquale Squillace and Giuseppe Pernigotti. Over time, it has grown into a hub for anyone interested in crossing wires between technology, creative design, and the hidden treasures of digital heritage. If you're passionate about mixing past innovations with new digital adventures, and enjoy a good dose of nerd irony, welcome, you'll feel right at home!


Segui le attività in TC Project: Registrazione
Follow TC Project activities: Registration/login

GreenSpider

GreenSpider

GreenSpider plug-in for Autodesk Revit

Free download here (latest release)

Cerca!

Categorie

  • English (27)
  • Italiano (4)
  • Ingegneria (22)
  • Architettura (27)
  • Design (6)
  • Ricerca e sviluppo (56)
  • Eventi (39)
  • Pubblicazioni (13)
  • Materiali didattici (9)
  • GreenSpider (10)
  • Berkeley (28)
  • Pixar (7)
  • Retrocomputing (10)
  • SGI (17)
  • Keio (3)
  • Serious fun (12)
  • Archivi

    Ultimi commenti

    SiliconSimon (VIC-20 The friend…): Thanks for the feedback Trevor, even though my reply comes so late! :)
    Petr (Faro Scenect and …): Hello. I have a Kinect XBOX360. I installed Scenect (scenect_5.2.100.32597_wma nual_x64_setup) on my c…
    Ray Randolph (Cray-1 - The home…): One of two machines on my bucket list to make on my laser cutter. The second is an Enigma machine. C…
    Trevor Dwyer (VIC-20 The friend…): Hi there, I feel your pain on updates and the internet not being the same these days – well since 199…
    SiliconSimon (Cray-1 - The home…): If someone is interested in my little Cray’s files, please PM me since I do not often read comments o…
    Robert (Cray-1 - The home…): If it’s possible, I would love to get the files from you for this project. I have a Cray-1 chip sitti…