La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Shading e Smoothing Daniele Marini, Maurizio Rossi.

Presentazioni simili


Presentazione sul tema: "1 Shading e Smoothing Daniele Marini, Maurizio Rossi."— Transcript della presentazione:

1

2 1 Shading e Smoothing Daniele Marini, Maurizio Rossi

3 2 Shading e smoothing Shading: raffigurare poliedri assegnando alle facce una luminosità proporzionale alla luce che ricevono Smoothing: simulare superfici curve descritte da poliedri, mediante tecniche di interpolazione

4 3 Shading e somoothing (cont) La luminosità che giunge su una faccia dipende dal suo orientamento verso la sorgente di luce (legge di Lambert) È essenziale conoscere la normale di una faccia Vari metodi di calcolo del vettore n normale ad una superficie

5 4 Calcoli sui vettori Vettore normale equazione del piano: ax+by+cz+d=0; si può anche scrivere come luogo: e p è un qualunque punto nel piano; il vettore n è dato da:

6 5 In generale possiamo partire da tre punti non allineati: p 0, p 1, p 2 con i quali determiniamo il piano (superfici approssimate con poliedri triangolarizzati). Le differenze p 2 - p 0 e p 1 - p 0 sono coplanari e il loro prodotto vettoriale dà la normale: n = (p 2 - p 0 ) x (p 1 - p 0 ) Lordine è rilevante

7 6 Il calcolo delle normali di superfici curve dipende da come la superficie è rappresentata, ma in generale si stima un gradiente. Es. sfera - equazione f(x,y,z): x 2 + y 2 + z 2 -1=0 In forma vettoriale: f(p): p·p -1 = 0 Il vettore gradiente è dato da:

8 7 Se la sfera è rappresentata in forma parametrica il metodo di calcolo cambia: La normale si può ricavare dal piano tangente in p:

9 8 Individuano due vettori tangenti il cui prodotto vettore individua la normale - poiché ci interessa solo la direzione si può dividere per cos(u) ottenendo un vettore unitario

10 9 Quando calcolare le normali? Larchitettura a pipe line dei sistemi di rendering prevede che la normale di una faccia sia nota a priori (viene elaborato un vertice per volta e non tutta linformazione è disponibile) In generale è compito del programma applicativo calcolare la normale. Le librerie grafiche come OpenGL o linguaggi come VRML permettono di associare a ogni vertice o faccia una normale (che dobbiamo calcolare noi nel programma applicativo) BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

11 10 Ancora sulle normali Il calcolo delle normali ha anche interesse per simulare effetti di trasparenza (che non fanno parte del problema base dello shading...) per poter simulare correttamente il fenomeno della rifrazione

12 11 Trasmissione: legge di Snell La luce che colpisce un materiale può essere: 1.Assorbita (trasformata in unaltra forma di energia: calore….) 2.Riflessa (diffusamente e/o specularmente) 3.Trasmessa (diffusamente e/o specularmente) Trasmissione speculare: Rifrazione, governata dalla legge di Snell: 1 2 n1n1 n2n2 - denso n 1 < n 2 + denso

13 12 Rifrazione: TIR Fenomeno: riflessione interna totale (TIR) La luce che proviene da un mezzo più denso ad uno meno denso con direzione quasi parallela alla superficie viene riflessa Es. fibre ottiche 90° TIR n1n1 n2n2 - denso + denso 1 > 90° comporta 2 > TIR con TIR = arcsen(n 1 / n 2 ) 1 > 90° comporta 2 > TIR con TIR = arcsen(n 1 / n 2 )

14 13 La geometria della riflessione P punto campione sulla sup. N normale alla sup. in P V direzione da P a COP L direzione da P a sorgente di luce (se estesa è un punto campione su essa) R direzione di riflessione speculare della sorgente calcolata da N e L

15 14 Shading di poligoni (Flat shading) N, V ed L variano su ogni poligono Se si assume osservatore distante e sorgente di luce distante V e L sono costanti Anche N è quindi costante sullintero poligono Il calcolo di shading viene fatto per lintero poligono una sola volta

16 15 Flat shading Flat shading: i poligoni vengono colorati uniformemente indipendentemente dalla posizione dellosservatore La luminosità del colore del poligono è determinata dallangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce È molto veloce e consente animazioni real time

17 16 Flat shading di poliedri È importante sfruttare informazioni già calcolate nel passare da una faccia alla successiva Si possono organizzare i triangoli di un poliedro in triangle strip, il che permette di risparmiare informazioni sulle normali, ad es. OGL usa la normale del terzo vertice per il primo triangolo, la normale del quarto per il secondo e così via

18 17 Triangle strip

19 18 Effetti di flat shading Bande di Mach

20 19 Smooth shading (interpolato) Ci sono due tecniche di interpolazione: –Interpolazione di Gouraud Implementata a livello hardware su tutte le recenti schede grafiche 3D –Interpolazione con modello di Phong Implementata a livello hardware solo sulle più recenti e costose schede grafiche 3D

21 20Gouraud Gouraud shading: i poligoni vengono colorati indipendentemente dalla posizione dellosservatore Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lintensità Nei punti interni al poligono lintensità non è costante ma determinata dalla interpolazione bilineare di quella nei vertici La continuità cromatica è garantita tra poligoni adiacenti

22 21 Gouraud Gouraud shading: attenzione! Sebbene la continuità cromatica tra poligoni adiacenti renda laspetto di una superficie curva, questa è sempre e solo poligonale! Si vede dai contorni!

23 22 Interpolazione bilineare Descriviamo i lati in forma parametrica, è il parametro Interpoliamo lungo Una linea di scansione del poligono

24 23 Phong Smoothing Basato sullinterpolazione delle normali Il colore si calcola alla fine sul singolo pixel

25 24 Gouraud vs. Phong shading hardware veloce continuo fino al I ordine effetti lucentezza limitati (migliorano se si aumenta la triangolazione) Software (hw sulle nuove sch. 3D) Più lento continuo fino al II ordine si può applicare modello di Phong per lucentezza

26 25 Confronti Confronto tra Flat, Gouraud e Phong per un modello poligonale (triangoli) a bassa risoluzione Flat Gouraud Phong

27 26 Le luci nelle librerie Spesso nelle librerie grafiche (es. OGL) la definizione delle sorgenti è più complessa: In OGL i parametri sono: Posizione (direzione) della sorgente Livelli di –Ambiente –Diffusa –Speculare Associati alla sorgente –Ovvero in OGL ogni sorgente produce un contributo di luce ambiente, diffusiva e/o speculare –la specularità e diffusività dovrebbero essere viceversa proprietà delle superfici!

28 27 Caratterizzare i materiali Occorre assegnare alle superfici caratteristiche di riflettività: –diffusiva –speculare Rispettando il modello di illuminazione scelto Nei modelli locali la riflettività non ha riferimento colorimetrici o fotometrici, occorrono modelli più avanzati (BRDF BSSRDF ecc.)


Scaricare ppt "1 Shading e Smoothing Daniele Marini, Maurizio Rossi."

Presentazioni simili


Annunci Google