• Nenhum resultado encontrado

Modelos de Iluminação e Reflexão

N/A
N/A
Protected

Academic year: 2021

Share "Modelos de Iluminação e Reflexão"

Copied!
58
0
0

Texto

(1)

Licenciatura em Engenharia Informática e de Computadores

Computação Gráfica

Modelos de Iluminação e Reflexão

Edward Angel, Cap. 6

(2)

LEIC CG

Na última aula...

Recorte 2D

Sutherland-Hodgman

Recorte 3D

(3)

LEIC CG

Questão 4, exame de 29/07/11

[3.0v] Considere o rectângulo de recorte e os polígonos

P

1

={V

1

, V

2

, V

3

}, P

2

={V

2

, V

4

, V

3

} e P

3

={V

3

, V

4

, V

5

} ilustrados na figura abaixo. Assuma que vai aplicar os algoritmos de recorte

leccionados nas aulas teóricas.

(4)

LEIC CG

[3.0v] (…) rectângulo de recorte e os polígonos P

1

, P

2

e P

3

(…)

a) Seguindo a metodologia usada no algoritmo de Cohen-

Sutherland, indique os outcodes de cada um dos vértices.

(5)

LEIC CG

[3.0v] (…) rectângulo de recorte e os polígonos P

1

, P

2

e P

3

(…)

b) Identifique que segmentos são trivialmente aceites,

trivialmente rejeitados ou subdivididos, através da aplicação do

algoritmo de Cohen-Sutherland.

(6)

LEIC CG

[3.0v] (…) rectângulo de recorte e os polígonos P

1

, P

2

e P

3

(…)

d) Descreva o recorte do polígono P

2

através da aplicação do

algoritmo de Sutherland-Hodgman. Faça-o indicando as listas de

vértices inicial, à entrada e saída de cada um dos passos e final. Em

cada passo indique qual a aresta de recorte.

(7)

LEIC CG

Sumário

Iluminação e Reflexão

Modelo de Reflexão de Phong Aproximação de Blinn

Modelo de Reflexão de Blinn-Phong

(8)

LEIC CG

Pipeline de Visualização 3D

(9)

LEIC CG

Pipeline de Visualização 3D

(10)

LEIC CG

Pipeline de Visualização 3D

(11)

LEIC CG

Luz e Materiais

(12)

LEIC CG

Interacção Luz - Materiais

Energia luminosa reflectida na direcção da câmara

Define a cor representada

• Objecto vermelho e fonte de luz branca

material absorve a energia luminosa em todos os comprimentos de onda excepto no vermelho

• Objecto transparente

toda a energia luminosa é transmitida/refractada

Resultado diferente se alterada posição de

câmara objecto

fonte de luz

observador

(13)

LEIC CG

Fontes de Energia Luminosa

Compostas por múltiplos pontos de emissão Cada ponto pode emitir de modo diferente

I(x1, y1, z1, θ1, ϕ1, λ)

I(x2, y2, z2, θ2, ϕ2, λ)

Na prática L=(IR, IG, IB)

(14)

LEIC CG

Fontes de Luz Simplificadas

Pontual

Posição e cor

Intensidade diminui com a distância

Direccional

Cor e direcção (localizada no infinito)

Spotlight

Posição, cor, emissão num dado um ângulo sólido

Luz Ambiente

Contribuição de múltiplas fontes

Constante em todos os pontos da cena Não tem direcção

© 2012 Corpo docente de Computação Gráfica / CG&M / DEI / IST / UTL

(15)

LEIC CG

Tipos de Materiais

Modo como reflectem a energia luminosa:

Especular: numa só direcção

Difusa: igual em todas as direcções

Especificação dos materiais

Cor

Coeficientes de reflexão

Especular Difusa

(16)

LEIC CG

Vectores Envolvidos

Direcção da fonte de luz ( l ) Direcção da câmara ( v )

Normal à superfície ( n )

Direcção de reflexão perfeita ( r )

l

n v

r

(17)

LEIC CG

Modelos de Iluminação e

Reflexão

(18)

LEIC CG

Iluminação e Reflexão (1/2)

Modelos de Iluminação e Reflexão

Essenciais para representação de cenas 3D

• a duas dimensões

• com um significativo grau de realismo

(19)

LEIC CG

Iluminação e Reflexão (2/2)

Modelo de Reflexão

descreve como luz interage com superfície dos objectos

• Em função de

propriedades dessas superfícies natureza da luz incidente

Modelo de Iluminação

descreve a natureza e a distribuição de intensidade da luz

• emanada pelas fontes luminosas presentes na cena

(20)

LEIC CG

Sombreamento

Depois de se ter

Definido modelos de iluminação e reflexão

Determinado as posições e orientações relativas de

• objectos

• fontes de luz

Pode-se proceder ao

Cálculo de sombreamento das superfícies dos objectos

“Shading”

No terceiro andar do pipeline.

(21)

LEIC CG

Modelo de Iluminação de Phong

(22)

LEIC CG

Modelo de Reflexão de Phong

Garante compromisso equilibrado entre

grau de realismo carga computacional

Modela a intensidade luminosa

Combinação linear de três componentes

• Reflexão Ambiente

• Reflexão Difusa

• Reflexão Especular

(23)

LEIC CG

Modelo de Reflexão de Phong

Reflexão Ambiente

Permite iluminar

objectos que não estão directamente iluminados

Complementa iluminação

Objectos directamente iluminados

Definida por

I

a

= k

a

L

a

Onde:

K

a

: coeficiente de reflexão de luz ambiente (0 ≤ k

a

≤ 1) L

a

: valor de luz ambiente

• global ou contribuição de fontes de luz individuais

(24)

LEIC CG

Modelo de Reflexão de Phong

Reflexão Difusa

Superfície difusora perfeita

difunde igual intensidade luminosa em todas as direcções a luminosidade apreendida por um observador

• não depende do seu ponto de vista

Intensidade da luz Difusa

Estimada pela lei de Lambert

n l v

(25)

LEIC CG

Lei de Lambert

Estima intensidade da energia luminosa difundida Dada por:

I

d

=L

d

. k

d

cos Θ Θ Θ Θ

Onde:

Θ Θ

Θ Θ : ângulo entre fonte de luz e normal à superfície (0 ≤ Θ Θ Θ Θ ≤ π /2) k

d

: coeficiente de reflexão difusa (

0 ≤ kd≤ 1 )

Ld: intensidade da componente difusa da fonte de luz

n

l Θ

(26)

LEIC CG

Modelo de Reflexão de Phong

Reflexão Difusa

Intensidade da luz Difusa

Estimada pela lei de Lambert

Dada por:

n

l Θ v

( , 0 )

max l n L

k

I d d d r r

=

(27)

LEIC CG

Modelo de Reflexão de Phong

Reflexão Especular

Superfícies reflectoras perfeitas (especulares)

Energia luminosa reflectida numa única direcção…

n

raio reflectido raio

incidente

Superfície especular perfeita

Θ Θ

(28)

LEIC CG

Modelo de Reflexão de Phong

Reflexão Especular

Modela grau de brilho de uma superfície

Representada pela quantidade de luz reflectida

• de modo especular

• em torno da direcção de reflexão ideal

(ângulo de reflexão igual ao ângulo de incidência)

n r

l

v

(29)

LEIC CG

Modelo de Reflexão de Phong

Reflexão Especular

Superfícies especulares imperfeitas

(30)

LEIC CG

Modelo de Iluminação de Phong

Reflexão Especular

Intensidade diminui cos

α

com o aumento do ângulo entre R e V

Intensidade dada por:

Onde:

αααα

: coeficiente de brilho (shininess) ks: coeficiente de reflexão especular

Ls: intensidade da componente especular da fonte de luz

n r

l

Θ Θ φ v

( ( ) , 0 )

max r v α L

k

I

s s s

r r

=

(31)

LEIC CG

Modelo de Reflexão de Phong

Coeficiente de Brilho

Metais – αααα entre 100 e 200 Plásticos – αααα entre 5 e 10

cos

α

φ

φ 90

-90

(32)

LEIC CG

Superfícies especulares

Exemplo

(33)

LEIC CG

Modelo de Reflexão de Phong

Resultado Global

n

l r

P

v

>>) <<)

ambiente + difusa

especular

( ) , 0 max ( ( ) , 0 )

max l n k L r v

α

L

k L

k

I

a a d d

r r

s s

r r

⋅ +

⋅ +

=

(34)

LEIC CG

Modelo de Reflexão de Phong

Atenuação Atmosférica

Valor da energia luminosa depende da distância

Entre superfície e fonte de luz

Intensidade de luz é dada por:

Onde

d: distância do objecto à fonte de luz a, b,e c: constantes empíricas

L: intensidade de luz na fonte

cd

2

bd a

I L

+

= +

(35)

LEIC CG

Modelo de Reflexão de Phong

Resultado Global

n

l r

P

v

>>) <<)

ambiente + difusa

especular

( ) , 0 max ( ( ) , 0 )

max

2

2

v

α

cd r bd

a k L n

cd l bd

a k L L

k

I

a a d d

r r

s s

r r

+ ⋅ + +

+ ⋅ + +

=

(36)

LEIC CG

Modelo de Reflexão de Phong

Resultado Global

Várias (i) fontes de luz

Componente Especular

Componente Difusa

) α

( r v L

k

I

i

i

is s

s

r r ⋅

= ∑

) ( l n L

k

I

i

i

id d

d

r r

= ∑

(37)

LEIC CG

r2 l2

L2

r3

l3

L3

Modelo de Reflexão de Phong

Resultado Global

Intensidade de luz num ponto da superfície

Dada pela expressão:

( )

a ia

i

i is

s i

id d i

i

L k v

r L

k n

l L

cd k bd

I a ⋅ + ⋅ +

+

= ∑ + 1

2

max( r r ) max( r r )

α

n

r1 l1

L1 v

(38)

LEIC CG

Modelo de Reflexão de Phong

Controlo da Cor

No objecto

k

ra

, k

ga

, k

ba

: coeficientes de reflexão ambiente

k

rd

, k

gd

, k

bd

: coeficientes de reflexão difusa

k

rs

, k

gs

, k

bs

: coeficientes de reflexão especular

Na fonte de luz

L

ra

, L

ga

, L

ba

: intensidade de luz ambiente L

rd

, L

gd

, L

ba

: intensidade de luz difusa

L

rs

, L

gs

, L

bs

: intensidade de luz especular

(39)

LEIC CG

Modelo de Reflexão de Phong

Resultado Global

Intensidade de luz num ponto da superfície

Dada pelas expressões:

( )

ra ira

i

i irs

rs i

ird rd i

i

r

k L l n k L r v k L

cd bd

I a ⋅ + ⋅ +

+

= ∑ + 1

2

max( r r , 0 ) max( r r , 0 )

α

( )

ga iga

i

i igs

gs i

igd gd

i i

g

k L l n k L r v k L

cd bd

I a ⋅ + ⋅ +

+

= ∑ + 1

2

max( r r , 0 ) max( r r , 0 )

α

( )

ba iba

i

i ibs

bs i

ibd bd

i i

b

k L l n k L r v k L

cd bd

I a ⋅ + ⋅ +

+

= ∑ + 1

2

max( r r , 0 ) max( r r , 0 )

α

(40)

LEIC CG

Modelo de Reflexão de Phong

 

 

=

b g r P

I I I I

r2 l2

L2 r3

l3

L3 n

r1 l1

P

L1 v

b g

r

P I I I

I ≠ + +

(41)

LEIC CG

Modelo de Reflexão de Phong

r2 l2

L2 r3

l3

L3 n

r1 l1

P

L1 v

( )

( )

( )

 

 

 

 

 

 

+

⋅ +

+ ⋅ +

+

⋅ +

+ ⋅ +

+

⋅ +

+ ⋅ +

=

iga ga i

i igs

gs i

igd gd

i i

ira ra i

i irs

rs i

ird rd i

i

P

L k v

r L

k n

l L

k

L k v

r L

k n

l L

cd k bd

a

L k v

r L

k n

l L

cd k bd

a I

α α α

) 0 , max(

) 0 , 1 max(

) 0 , max(

) 0 , 1 max(

) 0 , max(

) 0 , 1 max(

2 2

r r r r

r r r r

r

r

r r

(42)

LEIC CG

Modelo de Phong Modificado

(43)

LEIC CG

Modelo de Reflexão de Phong

Na aplicação do modelo de Phong original

Tem de se determinar

• Para todos os pontos da superfície

• Na determinação da componente especular

Pode-se obter uma aproximação

do valor da componente especular

r r

n r

l

v

(44)

LEIC CG

Aproximação de Blinn (1/2)

Cálculo de vector é caro

Calcula-se

• Vector normal a uma hipotética faceta reflectora pura

• Vector médio normalizado (halfway vector)

r r

h r

2 v l

v l

v h l

r r r r

r r

r = +

+

= +

l n

v h

Vectores

l

e

v

unitários

(45)

LEIC CG

Aproximação de Blinn (2/2)

No cálculo da componente especular

Usar

em vez de

escolhendo β de modo a que

( r r v r )

α

( n r h r )

β

( ) n r h r

β

( r r v r )

α

(46)

LEIC CG

h2

l2 L2

r3

l3

L3

Modelo de Phong Modificado (Modelo de Blinn-Phong)

Intensidade de luz num ponto da superfície

Dada pela expressão:

( )

a ia

i

i is

s i

id d i

i

L k h

n L

k n

l L

cd k bd

I a ⋅ + ⋅ +

+

= ∑ + 1

2

max( r r , 0 ) max( r r , 0 )

β

h1 n l1

P

L1 v

(47)

LEIC CG

Modelo de Reflexão de Blinn-Phong

h2

l2

L2 h3

l3

L3 h1 n

l1

P

L1 v

( )

( )

( )

 

 

 

 

 

 

+

⋅ +

+ ⋅ +

+

⋅ +

+ ⋅ +

+

⋅ +

+ ⋅ +

=

iga ga i

i igs

gs i

igd gd

i i

ira ra i

i irs

rs i

ird rd i

i

P

L k h

n L

k n

l L

k

L k h

n L

k n

l L

cd k bd

a

L k h

n L

k n

l L

cd k bd

a I

β β β

) 0 , max(

) 0 , 1 max(

) 0 , max(

) 0 , 1 max(

) 0 , max(

) 0 , 1 max(

2 2

r r r r

r r r r

r r

r r

(48)

LEIC CG

Modelo de Phong Modificado (Modelo de Blinn-Phong)

Modelo usado por omissão no OpenGL

Aplicado a todos as vértices

• Que passem ao

3º passo do 2º andar do pipeline

(49)

LEIC CG

Iluminação e Materiais

em OpenGL

Activar cálculo da Iluminação

glEnable(GL_LIGHTING)

Depois de activado, glColor() é ignorado

Activar individualmente cada fonte de luz

glEnable(GL_LIGHTi) // i=0,1…

Escolher parâmetros do modelo de iluminação

glLightModel{fi}{v}(pname, params) Exemplo: Definir luz ambiente global

GLfloat amb[] = {0.2f, 0.2f, 0.2f, 1.0};

glLightModelfv(GL_LIGHT_MODEL_AMBIENT,amb);

(50)

LEIC CG

Iluminação e Materiais

em OpenGL

Propriedades das fontes de luz:

I

a

, I

s

e I

d

Posição e direcção (se aplicável)

Atenuação, spot cut-off e spot exponent

GLfloat ambient[] = { 0.0, 0.1, 0.0, 1.0 };

GLfloat diffuse[] = { 0.0, 1.0, 1.0, 1.0 };

GLfloat specular[] = { 1.0, 1.0, 1.0, 1.0 };

(…)

glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);

glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);

glLightfv(GL_LIGHT0, GL_SPECULAR, specular);

(…)

(51)

LEIC CG

Iluminação e Materiais

em OpenGL

Propriedades das fontes de luz:

I

s

, I

d

e I

a

Posição e direcção (se aplicável)

Atenuação, spot cut-off e spot exponent

GLfloat position[] = {2.0, 2.0, 0.0, 1.0}

GLfloat direction[] = {-1.0, -1.0, 0.0, 0.0 } (…)

// point light

glLightfv(GL_LIGHT0, GL_POSITION, position);

// directional light

glLightfv(GL_LIGHT1, GL_POSITION, direction);

(…)

(52)

LEIC CG

Iluminação e Materiais

em OpenGL

Propriedades das fontes de luz:

I

s

, I

d

e I

a

Posição e direcção (se aplicável)

Atenuação, spot cut-off e spot exponent

(…)

glLightf(GL_LIGHT0,

GL_CONSTANT_ATTENUATION

, a) glLightf(GL_LIGHT0,

GL_LINEAR_ATTENUATION

, b)

glLightf(GL_LIGHT0,

GL_QUADRATIC_ATTENUATION

, c) (…)

2

1

i i

i

a bd cd

f = + +

(53)

LEIC CG

Iluminação e Materiais

em OpenGL

Propriedades das fontes de luz:

I

s

, I

d

e I

a

Posição e direcção (se aplicável)

Atenuação, spot cut-off e spot exponent (α)

(…)

glLightfv(GL_LIGHT0,

GL_SPOT_DIRECTION

, direction) glLightf(GL_LIGHT0,

GL_SPOT_CUTOFF

, theta) // 0~180 glLightf(GL_LIGHT0,

GL_SPOT_EXPONENT

, alpha) // 0~128

−θ φ θ

cos

α

φ

(54)

LEIC CG

Iluminação e Materiais

em OpenGL

Propriedades das fontes de luz:

I

s

, I

d

e I

a

Posição e direcção (se aplicável)

Atenuação, spot cut-off e spot exponent (α)

(…)

glLightfv(GL_LIGHT0,

GL_SPOT_DIRECTION

, direction) glLightf(GL_LIGHT0,

GL_SPOT_CUTOFF

, theta) // 0~180 glLightf(GL_LIGHT0,

GL_SPOT_EXPONENT

, alpha) // 0~128 (…)

 

 

=

otherwise d

v

inspot if

spotlight if

) 0 , max(

) (!

0

) (!

1 effect

spotlight_

(55)

LEIC CG

Iluminação e Materiais

em OpenGL

Material das superfícies:

k

s

, k

d

e k

a

k

emmisive

– Componente “emissiva” do material

GLfloat matambient[] = { 0.5, 0.5, 0.5, 1.0 };

GLfloat mat_diffuse[] = { 0.6, 0.6, 0.0, 1.0 };

GLfloat mat_specular[] = { 0.8, 0.8, 0.8, 1.0 };

GLfloat mat_emission[] = {0.3, 0.2, 0.2, 0.0};

GLfloat mat_shine = 100.0 (…)

glMaterialfv (GL_FRONT, GL_AMBIENT, mat_ambient);

glMaterialfv (GL_FRONT, GL_DIFFUSE, mat_diffuse);

glMaterialfv (GL_FRONT, GL_SPECULAR, mat_specular);

glMaterialfv (GL_FRONT, GL_EMISSION, mat_emission);

glMaterialf (GL_FRONT, GL_SHININESS, mat_shine);

(…)

(56)

LEIC CG

Iluminação e Materiais

em OpenGL

ambient

!"#$%&

∗ ambient

#("&) (

* + 1

- . / 0 /

1

∗ 2 34 _ 66 0

789

∗ < - .

:; => ?

∗ - .

/ 66@

=> ?

∗ / 66@ ∗ max ∙ , 0

2 0@ -

=> ?

∗ 2 0@ - ∗ max 4 ∙ , 0

E> 7 7 EE?

FG

(57)

LEIC CG

Iluminação e Materiais

em OpenGL

- . => HI ∗ - .

* 0 .@ => EHJ K

789

:9

0 .@ => EHJ K ?

- @- _6-0 ∗ 2 34 _ 66 0 ∗ L- . _ / 66@ _

(58)

LEIC CG

Pipeline de Visualização 3D

Referências

Documentos relacionados

No período de primeiro de janeiro a 30 de junho de 2011, foram encaminhadas, ao Comitê de Segurança do Paciente da instituição sede do estudo, 218 notificações de

A estabilidade do corpo docente permanente permite atribuir o conceito muito bom, segundo os parâmetros da área, para o item 2.2 (pelo menos 75% dos docentes permanentes foram

Lembramos que, na forma do Regimento Interno, em seu artigo 30 § 2°, o prazo para apresentação do parecer é de 30 (trinta) dias, e que deve ser precedido de ementa e encerrado

Portanto, se o escoamento da produção de soja do Centro-Oeste fosse realizada em vias rodoviárias que estivem em bons estados de conservação haveria significativas reduções

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

Júri de Seleção de trabalhos Ginecologia/ Obstetrícia Hélder Ferreira Luís Guedes Martins Júri de Prémio CO Ginecologia/ Obstetrícia Anabela Branco José Cabral Luísa Vieira

Um outro sistema robótico do tipo rodas, figura 10, é utilizado para inspecionar e limpar a superfície interna de dutos de concreto (Saenz, Elkmann, Stuerze, Kutzner, &amp;

O ob- jetivo do Prêmio Administrador de Pessoal do SINDHOSFIL – APS é instituir e estimular a criatividade e a originalidade de colaboradores e profissionais da área de