mercoledì 28 settembre 2016

Terminologia per Programmazione di Videogiochi #3: Ambient Occlusion e Diffuse Map

In questa terza puntata della rubrica continueremo il discorso del mapping andando ad aggiungere i concetti di Diffuse Map e Ambient Occlusion.










<- Parte #2: Texture e UV Mapping

Parte #4: Coming Soon...


 

Termini trattati

  •  Diffuse Map
  • Ambient Occlusion
  • Ambient Occlusion Map  
  • SSAO
  • HBAO
  • HDAO


La scorsa volta abbiamo visto come si applicano le texture ad una mesh attraverso la tecnica del mapping. Tuttavia, questa è solo una delle diverse  mappature applicabili, e ognuna aggiunge un effetto diverso. La più comune e utilizzata è la Diffuse Map.


Diffuse Map

 

La Diffuse Map non è altro che il colore dato alla superficie del modello, senza alcuna illuminazione. A questa mappa si può quindi assegnare una texture oppure un colore singolo, che avrebbe un effetto simile a quello in figura. La mappa è "vestita" sull'oggetto con la tecnica vista nella lezione precedente.
Come potete vedere dall'immagine seguente, sulla sinistra abbiamo un modello in wireframe senza texture nè colori, a destra invece abbiamo applicato una diffuse map che ha aggiunto la texture al modello. Notate, appunto, come il modello a destra risulti senza illuminazione e quindi senza ombreggiature che ne definiscono meglio la profondità

Credits to http://www.cgmeetup.net/forums/gallery/image/10206-orc-render-05-with-diffuse-map-normals-map-and-wireframe/
Tuttavia, quando si parla di Diffuse, non si intende solo il colore ma anche un altro importante elemento: l'Ambient Occlusion. Come vedremo, questo rende il modello leggermente più apprezzabile, soprattutto se il livello di AO è alto.

 

Ambient Occlusion

 

L'Ambient Occlusion è un effetto che simula delle ombreggiature morbide su un modello come se questi fosse illuminato indirettamente da una luce che si avrebbe in una grigia giornata di pioggia. Quindi non una luce forte e diretta. Per capirci meglio osservate l'immagine seguente.

Credits to: http://www.leadwerks.com/werkspace/topic/7882-ssao-in-31/

Ad una prima occhiata sembrano identiche ma fate be attenzione agli spigoli interni dei muri e all'ombra dietro al telefono. Vedete come è più scuro e ombreggiato?
Con applicato l'AO, in modello risulta più realistico in quanto se notate le superfici sono più scure vicino alle fessure profonde e ai dettagli in rilievo.
Anche l'AO è applicato tramite una mappa, detta appunto  Ambient Occlusion Map, la quale viene anch'essa "vestita" sul modello.
Esistono però anche tipi di AO che vengono applicati in realtime, ovvero durante il rendering di un fotogramma mentre il videogioco è eseguito. Questi sono: SSAO, HBAO e HDAO.

Real Time Ambient Occlusion

 

Invece di applicare "offline" la mappa AO al modello, e quindi risparmiare in prestazioni, le schede grafiche moderne hanno abbastanza capacità di calcolo per applicare realtime l'Ambient Occlusion.
Vediamo brevemente le tre tecniche più usate:
  • SSAO (Screen Space Ambient Occlusion): tecnica ormai piuttosto vecchiotta (e quindi anche la meno esosa in termini di prestazioni) inventata da un ingegnere di Crytek. Essendo più performante, è meno precisa delle altre.
  • HBAO (Horizontal Based Abient Occlusion): tecnica decisamente più esosa rispetto alla precendente, in quanto cerca anche di rimuoverne i difetti migliorando la resa visiva. Utilizzato da schede grafiche ATI.
  • HDAO (High Definition Ambient Occlusio): anche questa risulta molto esosa ma rimane identica alla controparte HBAO. L'unica differenza è che viene usata da schede grafiche NVIDIA.
Queste sono solo alcune delle tecniche più famose, volendo più avanti andremo ad esplorare anche le altre.


Ricapitolando, una Diffuse map è formata da una texture/colore e da una Ambient Occlusion Map unite insieme. Queste sono applicate al modello per dargli una prima forma di qualità. Nel caso in cui si parli invece di AO applicato durante il rendering dei fotogrammi allora si utilizzano tecniche più sofisticate come abbiamo visto.

Nessun commento:

Posta un commento