• Nenhum resultado encontrado

Iluminando o Cenário

N/A
N/A
Protected

Academic year: 2021

Share "Iluminando o Cenário"

Copied!
53
0
0

Texto

(1)

Iluminando o Cenário

(2)

Fundamentos:

Fisicamente: a percepção da iluminação depende da distribuição da energia (dos fótons) que alcançam as células (cones/bastonetes) nos nossos olhos

Essa energia se distribui de maneira complexa.

Os fótons podem vir de uma fonte

De luz ou combinações de várias fontes; Parte dos fótons são absorvidos

(3)

A absorção ou reflexão dos fótons influenciam na

percepção da Iluminação e também sofre influência de diversos fatores:

A polidez da superfície: a luz é espalhada em função da suavidade e orientação da superfície;

A cor da superfície: reflexão da cor da luz incidente; A intensidade da luz incidente: intensidade de brilho;

(4)

Resumindo: a percepção de brilho e cor

(iluminação) de uma cena depende...:

- Das próprias fontes de luz;

- Das propriedades dos materiais;

- Da localização do observador e;

- Da orientação das superfícies.

(5)

Em CG, especialmente em aplicações de tempo real, não é necessário uma iluminação perfeita.

Em geral adota-se a “renderização” local onde cada polígono é “pintado” de maneira independente do outro.

(6)

O modelo empírico a ser abordado considera as

seguintes componentes:

Luz Ambiente

Luz Ambiente

Luz Difusa

Luz Difusa

Luz Especular

Luz Especular

(7)

Luz Ambiente

Luz Ambiente

Trata-se de uma luz que está tão espalhada no

ambiente a ponto de ser impossível

determinar a sua direção ou fonte – ela parece vir de

todas as direções.

Funciona como uma

(8)

Cálculo da Luz Ambiente (Iluminação ambiental)

Cálculo da Luz Ambiente (Iluminação ambiental)

A percepção de brilho e cor (intensidade refletida) é

calculada através da equação:

Ka = refletividade em relação à luz ambiente (característica do material)

I = intensidade de luz ambiental incidente

(9)

Luz Difusa

Luz Difusa

A reflexão de luz difusa é proporcional ao cos(θi) Sendo L (direção para a fonte de luz difusa)

e N (a normal à superfície)

dois vetores unitários, então: cos(θi)=L.N

(10)

Luz Difusa

Luz Difusa

Luz difusa refletida:

Kd= refletividade da luz difusa; I = intensidade da luz incidente;

L = vetor unitário orientado para a fonte de luz difusa;

N = normal (unitária) no ponto da superfície que recebe a luz difusa.

(11)

Luz Difusa

Luz Difusa

Surge o efeito de sombra em função da direção da luz em relação à normal.

Se θ aumenta tendendo para 90o então proporcionalmente o

(12)

Luz Difusa

Luz Difusa

Se θ aumenta tendendo para 90o então, proporcionalmente, o

cos(θ) decai e ocorre a formação de um gradiente de sombra.

θ1

θ2

θ2 > θ1 → reflexão menor → mais sombra em B do que em A

θ1

(13)

Luz Difusa

Luz Difusa

A reflexão da luz difusa depende

apenas do ângulo

θ

de incidência.

Independente da posição do

(14)

Luz Difusa

Luz Difusa

Uma superfície Lambertiana espalha a luz em todas as direções apresentando brilho perfeitamente uniforme.

O gesso é uma superfície quase Lambertiana

Quanto mais constante for a luz difusa mais lambertiana é a

(15)

Luz Especular (modelo empírico de Phong)

Luz Especular (modelo empírico de Phong)

A luz especular produz o efeito de reflexão em uma superfície polida, onde a luz incidente se reflete com mais intensidade em certo ponto do objeto.

(16)

Luz Especular (modelo Phong)

Luz Especular (modelo Phong)

A intensidade de luz especular refletida depende da posição do observador (câmera sintética)

(17)

Luz Especular (modelo Phong)

Luz Especular (modelo Phong)

A intensidade refletida é proporcional a

(18)

Luz Especular (modelo Phong)

Luz Especular (modelo Phong)

(19)

shininess = 50 shininess = 10

(20)

Luz Especular (modelo Blinn)

Luz Especular (modelo Blinn)

Ao aplicar Phong para cálculo da iluminação especular, é

(21)

É importante salientar:

Na prática, I

t

tem que ser calculada para

(22)

Relembrando os principais fatores que influenciam na percepção de iluminação (reflexão da luz):

Características dos materiais:

As superfícies podem ser mais

ou menos polídas o que influencia na reflexão mais ou menos difusa ou especular.

Características das fontes de luz

Além disso as fontes de luz podem ser posicionais/spots (raios não paralelos)

ou direcionais (raios paralelos);

(23)

É importante salientar:

Há também a atenuação f(d) causada pela distância da fonte de iluminação.

Este fator pode ser linear constante ou quadrático:

f(d)=1/(a+b.d+c.d

2

)

d=distância

(24)

Até aqui vimos o Modelo Empírico que calcula a

Até aqui vimos o Modelo Empírico que calcula a

iluminação.

iluminação.

A tonalização é a aplicação deste modelo sobre os

polígonos que formam as superfícies da cena...

A tonalização pode ocorrer das seguintes formas:

Facetado (FLAT);

Suave (SMOOTH)

Gourald

(25)

Tonalização Facetada

Tonalização Facetada

(a mais simples)

cada polígono da superfície recebe a iluminação

calculada para um ponto. Ou seja, calcula-se a

iluminação apenas uma vez e aplica-se ao polígono

em questão.

(26)

FLAT

(facetado)

(27)

Tonalização Suave -

Tonalização Suave - Gouraud Gouraud

A iluminação é calculada para cada vértice do polígono; A iluminação de cada ponto na superfície do polígono é determinada por interpolação bilinear tomando como

referência os valores de iluminação calculados nos vértices do polígono.

(28)

Tonalização Suave -

Tonalização Suave - Gouraud Gouraud

(29)

SMOOTH

(30)

glShadeModel(GL_FLAT); glShadeModel(GL_SMOOTH);

(31)

Tonalização Suave - Phong

Tonalização Suave - Phong

As normais em uma aresta são Interpoladas a partir dos vértices desta aresta.

As normais internas são interpolação bilinear do par de normais calculadas em arestas.

(32)

Tonalização Suave - Phong

Tonalização Suave - Phong

A iluminação de cada ponto do polígono pode ser calculada a partir das normais interpoladas

(33)

Tonalização Suave - Phong

Tonalização Suave - Phong

A tonalização de Phong é melhor que a de Gouraud porém, é computacionalmente mais cara.

(34)

Execute os seguintes programas identificando a prametrização

Execute os seguintes programas identificando a prametrização

da iluminação:

da iluminação:

www.opengl.org/resources/code/samples/redbook/material.c www.opengl.org/resources/code/samples/redbook/colormat.c

(35)

Exercício1:

(36)

Dados do exercício 1:

Dados do exercício 1:

• Vetores normais (normas unitárias): N1,N2,N3 e N4;

• As intensidades refletidas das componentes de luz são unitárias;

• A única fonte de luz é branca, R=1,G=1,B=1 para todos os componentes: ambiental, especular e difuso. Dessa forma, a cor do objeto será percebida (determinada) pelos coeficientes (K) dos materiais;

• Os coeficientes de reflexão Ka=Kd=Ke são conhecidos e iguais a (1,1,0); • “Shininess” da componente especular: n=128;

•A reflexão da componente especular é calculada pelo modelo de Phong;

(37)

Dados do exercício 1:

Dados do exercício 1:

• A fonte de luz é direcional, na direção do vetor D=(0,0,-1): fonte no infinito, raios paralelos;

(38)

Dados do exercício 1:

Dados do exercício 1:

(39)

: bilinear ão interpolaç a feita é isso Após e , para mesmo O 2 3 4 1 1 1 1 v t I v t I v t I v esp I v d I v a I v t I = + + Solução exercício 1:

Solução exercício 1: calcular a iluminação em cada vértice e

interpolar a iluminação no ponto p:

(40)
(41)
(42)

) 0 ; 58 , 2 ; 58 , 2 ( ) 0 , 1 , 1 ( 0 , 3 1 , 3 1 ) 0 , 1 , 1 ( : 1 v em Iluminação 1 1 1 1 ≈ +         + = + +

= Iambientalv Idifusav Iespecularv v

I

Solução exercício 1:

(43)
(44)

Após calcular a iluminação para cada vértice aplique as equações de Após calcular a iluminação para cada vértice aplique as equações de interpolação levando em conta as coordenadas dos vértices, as

interpolação levando em conta as coordenadas dos vértices, as coordenadas

coordenadas

Solução exercício 1:

(45)

Exercício 2:

Exercício 2:

(46)

Exercício 3:

Exercício 3:

Considerando o seguinte trecho de código, qual a intensidade da luz incidindo no ponto P(17,1,-200):

(47)

Solução do Exercício 3:

Solução do Exercício 3:

Deseja-se a intensidade da luz incidente sobre o ponto P

Na incidência sobre o material: as luzes especular e ambiente estão praticamente desligadas (cor preta), há apenas uma

componente difusa.

(48)

(

)

0131 , 0 128 cos ≈       − − • = ⇒         − • = = D D L L ifusa incidenteD I n D D L L n ifusa incidenteD I α

A fonte de luz foi parametrizada para o “formato” SPOT, então a intensidade da luz incidente IincidenteDifusa é proporcional ao cosseno, elevado ao expoente 128, do

ângulo de fall-off.

Os cálculos de L e D constam nos próximos slides...

Solução do Exercício 3: qual é a

(49)

dado. é direção de vetor o , 2 2 , 0 , 2 2 390 2 ) 10 ( 2 ) 1 ( 2 ) 17 ( ] 10 , 1 , 17 [ ] 200 , 1 , 1 [ ] 190 , 0 , 0 [ : forma Dessa ). 190 0 0 (ponto luz de fonte da origem de ponto no coincidam vetores dois dos origens as que para e ) ( utilizando porém L vetor o e D direção vetor ao relação em aplicado é racíocinio Esse B A ) cos( T D L T T T P p L T ] ,-, p [ L D         − − = − = + − + − = − − = − − − = − = − • = θ

Solução do Exercício 3: calculando L e D

(50)

. ) cos( : teremos os, normalizad vetores são B e A disso, além Se, , ) cos( ) cos( : então , ângulo um formam e origem, mesma de vetores são B e A se tria, trigonome Da B A B A B A B A B A • = ⋅ • = ⇒ ⋅ = • θ θ θ θ

Solução do Exercício 3: calculando L e D

(51)

Exercício 4:

Exercício 4:

Execute o seguinte trecho de código e teça comentários sobre o resultado da iluminação obtida (crie o objeto a ser iluminado). Descreva o papel dos parâmetros especificados por

mat_shininess e GL_SPOT_EXPONENT? void init(void) { GLfloat mat_specular[ ] = {0.0, 0.0, 0.0, 1.0 }; GLfloat mat_diffuse[ ] ={0.0, 0.0, 0.0, 1.0 }; GLfloat mat_environmental[ ] = {0.0, 1.0, 0.0, 1.0 }; GLfloat mat_shininess[ ] ={3}; GLfloat light_position[ ] = { 1.0, 0.0, 0.0, 1.0 }; GLfloat light_specDirection[ ] = { 1.0, 0.0, 1.0, 1.0 }; glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel(GL_SMOOTH);

glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);

glMaterialfv(GL_FRONT, GL_AMBIENT, mat_environmental); glLightfv(GL_LIGHT0, GL_POSITION, light_position);

glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, light_specDirection); glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,100.0);

(52)

Exercício 5:

Exercício 5:

1A)Determine a componente difusa da luz de intensidade (200;100;50) colocada na

posição (0;1;0;0) sobre o vértice A do triângulo A=(3,2,1), B=(8,2,1), C=(4,8,-4).

Utilize a regra da mão direita para a determinação da normal ao polígono. Kd=(0.6,0.5,0.3).

Resp: L≈[0,1,0]

Nn•Ln =0.64 // Nn Normal normalizado e Ln vetor L normalizado Id=(76.8 32.0 9.6)

(53)

Exercício 6:

Exercício 6:

2A) Determine a componente especular de uma lâmpada de intensidade (1.0,0.4,1.0) colocada na posição (3,5,1,1) em relação ao ponto A=(6,2,1). O observador encontra-se em (8,10,1), a normal N=(-1,2,0), material: Ke=(1,1,1) e n=8.

A figura abaixo é uma ilustração geral e pode não retratar exatamente os parâmetros da questão: Resp: Rn=(-0.1394 0.9902 0) Vn=(0.242 0.97 0) Rn•Vn=0.9267 Ie=(0.5437 0.2175 0.5437)

Referências

Documentos relacionados

físicos, e outras em nossa alma, são o resultado da imperfeição em que ainda nos encontramos aqui embaixo, pois Deus poderia dar saúde perfeita a todos os crentes, sem

No dia 9 de Abril de 2003, rea-lizou- se o 6º Encontro “Dar Voz às Crianças da Ajuda”, tendo estado presentes Ana Perdigão (no grupo que respondeu a questões

Os dois algoritmos anteriores funcionam para alguns polígonos não

⌊n/3⌋ guardas neste polígono de modo que cada ponto do polígono seja coberto por pelo menos um guarda.... Teorema

Diante disso, determine a quantidade de ovos ( x ) encontrada neste ninho, sabendo que essa quantidade é um número primo.. Com base nesses dados, determine o valor da

ELE é natural de São Paulo, Estado de São Paulo, nascido a 2 de janeiro de 1982, estado civil solteiro, de profissão auxiliar de produção, residente na rua quatro nº15,

Dois  triângulos  são  congruentes,  se  os  seus  elementos  correspondentes  são  ordenadamente  congruentes,  isto  é,  os  três  lados  e  os  três 

Ø De cada vértice de um polígono de lados, saem diagonais ( ). Ø Em um polígono convexo de lados, o número de triângulos formados por diagonais que saem de