"Ambient occlusion" in CG
Ovvero come “spolverare” un modello digitale!
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.

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.

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
____________________________________
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
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
Simone's World
TC Project home
Simone Garagnani's UniUrb's homepage
Imaging for Humanities Lab
Simone Garagnani's BIM Foundation
Associazione City Space Architecture
The Journal of Public Space
City Space Architecture Community
Public Space Academy
Architecture & Friends
Luisa BravoBravoDesign
kill-9
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…






