27
1 Applicare il modello locale Shading e Smoothing Daniele Marini

1 Applicare il modello locale Shading e Smoothing Daniele Marini

Embed Size (px)

Citation preview

Page 1: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

1

Applicare il modello localeShading e Smoothing

Daniele Marini

2

Shading e smoothing

bull Shading raffigurare poliedri assegnando alle facce una luminositagrave proporzionale alla luce che ricevono

bull Smoothing simulare superfici curve descritte da poliedri mediante tecniche di interpolazione

3

Shading e somoothing (cont)

bull La luminositagrave che giunge su una faccia dipende dal suo orientamento verso la sorgente di luce (legge di Lambert)

bull Egrave essenziale conoscere la normale di una faccia

bull Vari metodi di calcolo del vettore n normale ad una superficie

4

Calcoli sui vettori

bull Vettore normalebull equazione del piano ax+by+cz+d=0 si puograve anche scrivere come luogo

e p egrave un qualunque punto nel piano il vettore n egrave dato da

0)( 0 =minussdot ppn

n=

a

b

c

⎢ ⎢ ⎢

⎥ ⎥ ⎥ e in coordinate omogenee n=

a

b

c

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

5

In generale possiamo partire da tre punti non allineati p0 p1 p2 con i quali determiniamo il piano (superfici approssimate con poliedri triangolarizzati)

Le differenze p2 - p0 e p1 - p0 sono coplanari e il loro prodotto vettoriale dagrave la normale

n = (p2 - p0) x (p1 - p0)

Lrsquoordine egrave rilevanteLrsquoordine egrave rilevante

6

Il calcolo delle normali di superfici curve dipende da come la superficie egrave rappresentata ma in generale si stima un gradiente Es sfera - equazione

f(xyz) x2 + y2 + z2 -1=0In forma vettoriale

f(p) pp -1 = 0Il vettore gradiente egrave dato da

n=

partfpartxpartfpartypartfpartz

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

2x

2y

2z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=2p

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 2: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

2

Shading e smoothing

bull Shading raffigurare poliedri assegnando alle facce una luminositagrave proporzionale alla luce che ricevono

bull Smoothing simulare superfici curve descritte da poliedri mediante tecniche di interpolazione

3

Shading e somoothing (cont)

bull La luminositagrave che giunge su una faccia dipende dal suo orientamento verso la sorgente di luce (legge di Lambert)

bull Egrave essenziale conoscere la normale di una faccia

bull Vari metodi di calcolo del vettore n normale ad una superficie

4

Calcoli sui vettori

bull Vettore normalebull equazione del piano ax+by+cz+d=0 si puograve anche scrivere come luogo

e p egrave un qualunque punto nel piano il vettore n egrave dato da

0)( 0 =minussdot ppn

n=

a

b

c

⎢ ⎢ ⎢

⎥ ⎥ ⎥ e in coordinate omogenee n=

a

b

c

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

5

In generale possiamo partire da tre punti non allineati p0 p1 p2 con i quali determiniamo il piano (superfici approssimate con poliedri triangolarizzati)

Le differenze p2 - p0 e p1 - p0 sono coplanari e il loro prodotto vettoriale dagrave la normale

n = (p2 - p0) x (p1 - p0)

Lrsquoordine egrave rilevanteLrsquoordine egrave rilevante

6

Il calcolo delle normali di superfici curve dipende da come la superficie egrave rappresentata ma in generale si stima un gradiente Es sfera - equazione

f(xyz) x2 + y2 + z2 -1=0In forma vettoriale

f(p) pp -1 = 0Il vettore gradiente egrave dato da

n=

partfpartxpartfpartypartfpartz

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

2x

2y

2z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=2p

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 3: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

3

Shading e somoothing (cont)

bull La luminositagrave che giunge su una faccia dipende dal suo orientamento verso la sorgente di luce (legge di Lambert)

bull Egrave essenziale conoscere la normale di una faccia

bull Vari metodi di calcolo del vettore n normale ad una superficie

4

Calcoli sui vettori

bull Vettore normalebull equazione del piano ax+by+cz+d=0 si puograve anche scrivere come luogo

e p egrave un qualunque punto nel piano il vettore n egrave dato da

0)( 0 =minussdot ppn

n=

a

b

c

⎢ ⎢ ⎢

⎥ ⎥ ⎥ e in coordinate omogenee n=

a

b

c

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

5

In generale possiamo partire da tre punti non allineati p0 p1 p2 con i quali determiniamo il piano (superfici approssimate con poliedri triangolarizzati)

Le differenze p2 - p0 e p1 - p0 sono coplanari e il loro prodotto vettoriale dagrave la normale

n = (p2 - p0) x (p1 - p0)

Lrsquoordine egrave rilevanteLrsquoordine egrave rilevante

6

Il calcolo delle normali di superfici curve dipende da come la superficie egrave rappresentata ma in generale si stima un gradiente Es sfera - equazione

f(xyz) x2 + y2 + z2 -1=0In forma vettoriale

f(p) pp -1 = 0Il vettore gradiente egrave dato da

n=

partfpartxpartfpartypartfpartz

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

2x

2y

2z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=2p

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 4: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

4

Calcoli sui vettori

bull Vettore normalebull equazione del piano ax+by+cz+d=0 si puograve anche scrivere come luogo

e p egrave un qualunque punto nel piano il vettore n egrave dato da

0)( 0 =minussdot ppn

n=

a

b

c

⎢ ⎢ ⎢

⎥ ⎥ ⎥ e in coordinate omogenee n=

a

b

c

0

⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥

5

In generale possiamo partire da tre punti non allineati p0 p1 p2 con i quali determiniamo il piano (superfici approssimate con poliedri triangolarizzati)

Le differenze p2 - p0 e p1 - p0 sono coplanari e il loro prodotto vettoriale dagrave la normale

n = (p2 - p0) x (p1 - p0)

Lrsquoordine egrave rilevanteLrsquoordine egrave rilevante

6

Il calcolo delle normali di superfici curve dipende da come la superficie egrave rappresentata ma in generale si stima un gradiente Es sfera - equazione

f(xyz) x2 + y2 + z2 -1=0In forma vettoriale

f(p) pp -1 = 0Il vettore gradiente egrave dato da

n=

partfpartxpartfpartypartfpartz

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

2x

2y

2z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=2p

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 5: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

5

In generale possiamo partire da tre punti non allineati p0 p1 p2 con i quali determiniamo il piano (superfici approssimate con poliedri triangolarizzati)

Le differenze p2 - p0 e p1 - p0 sono coplanari e il loro prodotto vettoriale dagrave la normale

n = (p2 - p0) x (p1 - p0)

Lrsquoordine egrave rilevanteLrsquoordine egrave rilevante

6

Il calcolo delle normali di superfici curve dipende da come la superficie egrave rappresentata ma in generale si stima un gradiente Es sfera - equazione

f(xyz) x2 + y2 + z2 -1=0In forma vettoriale

f(p) pp -1 = 0Il vettore gradiente egrave dato da

n=

partfpartxpartfpartypartfpartz

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

2x

2y

2z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=2p

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 6: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

6

Il calcolo delle normali di superfici curve dipende da come la superficie egrave rappresentata ma in generale si stima un gradiente Es sfera - equazione

f(xyz) x2 + y2 + z2 -1=0In forma vettoriale

f(p) pp -1 = 0Il vettore gradiente egrave dato da

n=

partfpartxpartfpartypartfpartz

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

2x

2y

2z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=2p

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 7: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

7

Se la sfera egrave rappresentata in forma parametrica il metodo di calcolo cambia

ππππltltminusltltminus

======

vu

uvuzz

vuvuyy

vuvuxx

22

con

)sin()(

)cos()cos()(

)sin()cos()(

La normale si puograve ricavare dal piano tangente in p

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 8: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

8

partppartu

=

partxpartupartypartupartzpartu

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

partppartv

=

partxpartvpartypartvpartzpartv

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

n=partppartu

timespartppartv

n=cos(u)

cos(u)sin(v)

cos(u)cos(v)

sin(u)

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=cos(u)p

Individuano due vettoritangenti il cui prodotto vettore individua la normale - poicheacute ci interessa solo la direzione si puograve dividere per cos(u) ottenendo un vettore unitario

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 9: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

9

Quando calcolare le normali

bull Lrsquoarchitettura 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 lrsquoinformazione egrave disponibile)bull In generale egrave 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)bull BlueMoon esegue il calcolo delle normali partendo dai dati di geometria

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 10: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

10

Ancora sulle normali

bull 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

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 11: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

11

Trasmissione legge di SnellTrasmissione legge di Snellbull La luce che colpisce un materiale puograve essere1 Assorbita (trasformata in unrsquoaltra forma di energia calorehellip)

2 Riflessa (diffusamente eo specularmente)

3 Trasmessa (diffusamente eo specularmente)

bull Trasmissione speculare Rifrazione governata dalla legge di Snell

2211 θθ sennsenn = 2211 θθ sennsenn =

θ1

θ2

n1

n2

- denso

n1 lt n2

+ denso

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 12: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

12

Rifrazione TIRRifrazione TIRbull Fenomeno riflessione interna totale (TIR)bull La luce che proviene da un mezzo piugrave denso ad uno meno denso

con direzione quasi parallela alla superficie viene riflessabull Es fibre ottiche

90deg

θTIR

n1

n2

- denso

+ denso

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

θ1 gt 90deg comporta θ2 gt θTIR

con θTIR = arcsen(n1 n2)

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 13: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

13

La geometria della riflessione

bull P punto campione sulla supbull N normale alla sup in Pbull V direzione da P a COPbull L direzione da P a sorgente di

luce (se estesa egrave un punto campione su essa)

bull R direzione di riflessione speculare della sorgente calcolata da N e L

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 14: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

14

Shading di poligoni(Flat shading)

bull N V ed L variano su ogni poligono

bull Se si assume osservatore ldquodistanterdquo e sorgente di luce distante V e L sono costanti

bull Anche N egrave quindi costante sullrsquointero poligono

bull Il calcolo di shading viene fatto per lrsquointero poligono una sola volta

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 15: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

15

Flat shadingFlat shadingbull Flat shading i poligoni vengono colorati uniformemente

indipendentemente dalla posizione dellrsquoosservatorebull La luminositagrave del colore del poligono egrave determinata

dallrsquoangolo tra la direzione della normale al poligono e la direzione da cui proviene la luce

bull Egrave molto veloce e consente animazioni real time

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 16: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

16

Flat shading di poliedri

bull Egrave importante sfruttare informazioni giagrave calcolate nel passare da una faccia alla successiva bull 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 cosigrave via

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 17: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

17

Triangle strip

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 18: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

18

Effetti di flat shading

Bande di Mach

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 19: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

19

Smooth shading (interpolato)

bull Ci sono due tecniche di interpolazionendash Interpolazione di Gouraud

bull Implementata a livello hardware su tutte le recenti schede grafiche 3D

ndash Interpolazione con modello di Phongbull Implementata a livello hardware solo sulle

piugrave recenti e costose schede grafiche 3D

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 20: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

20

GouraudGouraudbull Gouraud smoothing i poligoni vengono colorati

indipendentemente dalla posizione dellrsquoosservatore

bull Si considerano le normali alla superficie nei vertici del poligono e per ognuno dei vertici si calcola lrsquointensitagrave

bull Nei punti interni al poligono lrsquointensitagrave non egrave costante ma determinata dalla interpolazione bilineare di quella nei vertici

bull La continuitagrave cromatica egrave garantita tra poligoni adiacenti

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 21: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

21

GouraudGouraudbull Gouraud shading attenzionebull Sebbene la continuitagrave cromatica tra poligoni

adiacenti renda lrsquoaspetto di una superficie curva questa egrave sempre e solo poligonale Si vede dai contorni

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 22: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

22

Interpolazione bilineare

Descriviamo i latiin forma parametricaegrave il parametro

C4(α) =(1minusα)C0 +αC1

C5(α)=(1minusα)C2 +αC3

C45(α) =(1minusα)C4 +αC5

Interpoliamo lungoUna linea di scansionedel poligono

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 23: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

23

Phong Smoothingbull Basato sullrsquointerpolazione

delle normalibull Il colore si calcola alla fine

sul singolo pixel

( ) ( )( ) ( ) DCCD

BAC

nnn

nnn

βββ

ααα

+minus=

+minus=

1

1

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 24: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

24

Gouraud vs Phong smoothing

bull hardwarebull velocebull continuo fino al I

ordinebull effetti lucentezza

limitati (migliorano se si aumenta la triangolazione)

bull Software (hw sulle nuove sch 3D)

bull Piugrave lentobull continuo fino al II

ordinebull si puograve applicare modello

di Phong per lucentezza

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 25: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

25

ConfrontiConfrontibull Confronto tra Flat Gouraud e Phong per un

modello poligonale (triangoli) a bassa risoluzione

Flat Gouraud Phong

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 26: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

26

Le luci nelle libreriebull Spesso nelle librerie grafiche (es OGL) la definizione

delle sorgenti egrave piugrave complessabull In OGL i parametri sono

bull Posizione (direzione) della sorgentebull Livelli di

ndash Ambientendash Diffusandash Speculare

bull Associati alla sorgente

ndash Ovvero in OGL ogni sorgente produce un contributo di luce ambiente diffusiva eo speculare

ndash la specularitagrave e diffusivitagrave dovrebbero essere viceversa proprietagrave delle superfici

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali
Page 27: 1 Applicare il modello locale Shading e Smoothing Daniele Marini

27

Caratterizzare i materiali

bull Occorre assegnare alle superfici caratteristiche di riflettivitagravendash diffusiva

ndash speculare

bull Rispettando il modello di illuminazione sceltobull Nei modelli locali la riflettivitagrave non ha riferimento

colorimetrici o fotometrici occorrono modelli piugrave avanzati (BRDF BSSRDF ecc)

  • Applicare il modello locale Shading e Smoothing
  • Shading e smoothing
  • Shading e somoothing (cont)
  • Calcoli sui vettori
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Quando calcolare le normali
  • Ancora sulle normali
  • Trasmissione legge di Snell
  • Rifrazione TIR
  • La geometria della riflessione
  • Shading di poligoni (Flat shading)
  • Flat shading
  • Flat shading di poliedri
  • Triangle strip
  • Effetti di flat shading
  • Smooth shading (interpolato)
  • Gouraud
  • Slide 21
  • Interpolazione bilineare
  • Phong Smoothing
  • Gouraud vs Phong smoothing
  • Confronti
  • Le luci nelle librerie
  • Caratterizzare i materiali