Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10....

39
1 Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm Alberto Raposo – PUC-Rio Pipeline Gráfico Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Cluter & Durand, MIT

Transcript of Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10....

Page 1: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

1

Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa

Iluminação e Shading

Alberto B. [email protected]

http://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Pipeline GráficoModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Cluter & Durand, MIT

Page 2: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

2

Alberto Raposo – PUC-Rio

Iluminação• Como computar a irradiação de um raio de

luz?

Angel Figure 6.2

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Objetivo

• Criar modelos computacionais para ...– Emissão nas fontes de luz– Dispersão nas superfícies– Recepção na câmera

• Características desejadas …– Conciso– Eficiente– “Preciso”

D. BroganUniv. of Virginia

Page 3: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

3

Alberto Raposo – PUC-Rio

Sumário

• Iluminação direta (local)– Emissão nas fontes de luz– Dispersão nas superfícies

• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos

Iluminação direta

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Modelando Fontes de Luz

• IL(x,y,z,θ,φ,λ) ... – descreve a intensidade de energia, – saindo de uma fonte de luz, …– shegando em (x,y,z), ...– da direção (θ,φ), ...– com comprimento

de onda λ

(x,y,z)

Light D. BroganUniv. of Virginia

Page 4: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

4

Alberto Raposo – PUC-Rio

Modelos Empíricos

• Idealmente medem energia irradiada em“todas” as situações– Muita informação– Difícil na prática

λ

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Luz Ambiente•Objetos que não são iluminados diretamente sãogeralmente visíveis– e.g., o teto da sala, embaixo da mesa, etc.

•Isso é resultado da iluminação indireta dos emissores, refletida a partir de superfícies intermediárias

Fonte de luz

Page 5: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

5

Alberto Raposo – PUC-Rio

Luz Ambiente•Reflexões indiretas são caras de se calcular(especialmente em tempo real), por isso usa-se um truque: fonte de luz ambiente– Não tem características espaciais ou direcionais: ilumina todas

as superfícies igualmente– A quantidade de luz refletida depende das propriedades das

superfícies

Alberto Raposo – PUC-Rio

Fonte de luz ambiente

•Para cada comprimento de onda amostrado(R, G, B), a luz ambiente refletida em umasuperfície depende de– Propriedades da superfície, kambient

– Intensidade, Iambient, da fonte de luz ambiente(constante para todos os pontos em todas as superfícies)

•Ireflected = kambient IambientD. BroganUniv. of Virginia

Page 6: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

6

Alberto Raposo – PUC-Rio

Fonte de luz ambiente•Cena iluminada apenas pela luz ambiente:

Posição da fontenão é importante

Posição do observador

não é importante

Ângulo de incidência

não é importante

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Componente de luz ambiente

É um “truque” para evitar complexidadedo modelo de iluminação global!

• Representa a reflexão de toda a iluminaçãoindireta

D. BroganUniv. of Virginia

Page 7: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

7

Alberto Raposo – PUC-Rio

Fontes de luz direcionais

• Para uma fonte direcional, algumas simplificaçõestambém são assumidas:– A direção de iluminação é constante para todas as

superfícies da cena– Todos os raios de luz são paralelos

• Como se a fonte estivesse no infinito• Boa aproximação para luz do Sol

• A direção da superfície emrelação à da luz é importante– Posição da fonte e do observador não são importantes

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Fontes de luz direcionais•A mesma cena anterior, agora com luzambiente e direcional

D. BroganUniv. of Virginia

Page 8: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

8

Alberto Raposo – PUC-Rio

Comparando:

D. BroganUniv. of Virginia

Só luz ambiente Luz ambiente + fonte direcional

Alberto Raposo – PUC-Rio

Fontes de luz puntuais

•Uma fonte puntual emite luz igualmente emtodas as direções a partir de um único ponto•A direção da luz que chega em umasuperfície é diferente em cada ponto:– Precisa calcular um vetor

normalizado de cada pontoiluminado da superfície até a fonte:

p

l

D. BroganUniv. of Virginia

Page 9: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

9

Alberto Raposo – PUC-Rio

Spot Lights

•Spots são fontes puntuais cuja intensidadereduz (falls off) direcionalmente. – Requerem cor, ponto

(localização), direção,parâmetros de falloff

– Existem em OpenGL eVRML

Alberto Raposo – PUC-Rio

VRML• Iluminação:

– Directional Light– PointLight– SpotLight

• Componente Ambiente é associado a cada umadas fontes individuais (campo ambientIntensity)

Page 10: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

10

Alberto Raposo – PUC-Rio

VRML – Directional Light

The annotated VRML ref.

Alberto Raposo – PUC-Rio

VRML – Directional Light

• 12_directional.wrl

The annoteted VRML ref.

Page 11: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

11

Alberto Raposo – PUC-Rio

VRML – Point Light

Alberto Raposo – PUC-Rio

VRML – Point Light

• 13_point.wrl

The annoteted VRML ref.

Page 12: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

12

Alberto Raposo – PUC-Rio

VRML – Spot Light

SpotLight {color 1 1 1location 0 0 0direction 0 0 -1radius 100cutOffAngle 0.785398beamWidth 1.570796

on TRUE (...) }

Alberto Raposo – PUC-Rio

VRML – Spot Light

• 12_spot.wrl

The annoteted VRML ref.

Page 13: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

13

Alberto Raposo – PUC-Rio

Fontes de Área•Definem uma superfície 2-D emissiva (porex., disco ou polígono)– exemplo: painel de luz fluorescente

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Luzes - AtenuaçãoM. Gattass, PUC-Rio

Page 14: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

14

Alberto Raposo – PUC-Rio

Sumário

• Iluminação direta (local)√ Emissão nas fontes de luz– Dispersão nas superfícies

• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos

Iluminação direta

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Modelando a Reflectância das Superfícies

• Rs(θ,φ,γ,ψ,λ) ... – descreve a quantidade de energia incidente, – chegando na direção (θ,φ), ...– saindo na direção (γ,ψ), …– com comprimento de

onda λ

Superfície

(θ,φ)

(ψ,λ)

λ

D. BroganUniv. of Virginia

Page 15: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

15

Alberto Raposo – PUC-Rio

Modelos Empíricos

• Idealmente deveriam medir energia radiantepara “todas” as combinações de ângulos de incidência– Muita informação– Difícil na prática

Superfície

(θ,φ)

(ψ,λ)

λ

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

•Reflexão difusa ideal– Um refletor difuso ideal, microscopicamente, é superfície

extremamente rugosa– Devido a essas variações microscópicas, raio de luz

recebido pela superfície se reflete igualmente em qualquerdireção do “hemisfério”:

A física da reflexão

D. BroganUniv. of Virginia

Page 16: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

16

Alberto Raposo – PUC-Rio

Reflexão difusa

• Quanto de luz é refletida?– Depende do ângulo da luz incidente

Superfície

dLΘ= cosdAdL

dA

θ

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Lei do Cosseno de Lambert•Superfícies difusas ideais refletem de acordo com a lei do cosseno de Lambert:

A energia refletidade uma fonte de luz em uma dada direçãopor um pequeno pedaço de uma superfície é proporcional aocosseno do ângulo entre aquela direção e a normal dasuperfície naquele pequeno pedaço

•São as chamadas: superfícies lambertianas•Intensidade refletida depende da orientação dasuperfície em relação à fonte de luz, mas independeda direção de visualização do observador

Page 17: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

17

Alberto Raposo – PUC-Rio

Lei de Lambert

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Computando a Reflexão Difusa•O ângulo entre a normal da superfície e o raioincidente é chamado ângulo de incidência:

•Idiffuse = kd Ilight cos θ•Na prática, usa-se aritmética de vetores

•Idiffuse = kd Ilight (n • l)

nl

θ

D. BroganUniv. of Virginia

Page 18: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

18

Alberto Raposo – PUC-Rio

Componente de reflexão difusa

( ) ( )( )( )( )⎟⎟

⎟⎟

⎜⎜⎜⎜

⋅⋅⋅

=⋅⎟⎟⎟

⎜⎜⎜

⎛=⋅

⎟⎟⎟

⎜⎜⎜

⎛⊗⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

LnLnLn

LnLnˆˆ

ˆˆ

ˆˆˆˆˆˆ

dbb

dgg

drr

dbb

dgg

drr

db

dg

dr

b

g

r

b

g

r

klklkl

klklkl

kkk

lll

III

I, l, k ∈ [0 ,1 ]

L̂ n̂

n̂L̂

n̂L̂M. Gattass, PUC-Rio

Alberto Raposo – PUC-Rio

Exemplos de incidência difusa

•Consideram-se ângulos de incidência entre0° e 90°•Uma esfera lambertiana vista com diferentesângulos de incidência:

D. BroganUniv. of Virginia

Page 19: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

19

Alberto Raposo – PUC-Rio

Reflexão Especular

•Superfícies brilhantes exibem reflexão especular– Ex.: Metal polido

• O “brilho” da luz sobre superfície especular gera“mancha” brilhante: specular highlight•Onde esses highlights aparecem é função da posiçãodo observador:– Reflexão especular depende da visão do observador!

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

A física da reflexão especular

•No nível microscópico, superfície especular é muito lisa•Raios de luz tendem a “bater” e refletir comoespelhos•Quanto mais lisa, mais próxima do espelhoperfeito

Page 20: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

20

Alberto Raposo – PUC-Rio

A óptica da reflexão•Reflexão segue Lei de Snell:– O raio incidente e o refletido estão no mesmo

plano que a normal à superfície– O ângulo que o raio refletido forma com a normal

à superfície é igual ao ângulo formado pelo raioincidente e a normal:

θ(l)ight = θ(r)eflection

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Reflexão Especular

• Reflexão é mais forte perto do ângulo do espelho

N

LR θθ

D. BroganUniv. of Virginia

Page 21: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

21

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

θL θR

θL=θR

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

θL θR

θL=θR

cos(θi)N

(N.L)N

D. BroganUniv. of Virginia

Page 22: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

22

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

θL θR

θL=θR

2(N.L)ND. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

θ θ

θL=θR

L2(N.L)N

θL θR

D. BroganUniv. of Virginia

Page 23: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

23

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

θL θR

θL=θR

L2(N.L)ND. BroganUniv. of Virginia

( ) LNLNLRN −⋅= 2)(

Alberto Raposo – PUC-Rio

Reflectância especular não-ideal•Lei de Snell se aplica para superfícies perfeitas mas, tirando os espelhos, poucas superfícies têm essa perfeiçãona reflexão

•Como capturar as reflexões“softs” de uma superfícienão-perfeita?

•Hipótese: a maior parte da luz se reflete de acordo com Lei de Snell, mas alguma luz se reflete em direçõesligeiramente diferentes da ideal D. Brogan

Univ. of Virginia

Page 24: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

24

Alberto Raposo – PUC-Rio

Reflectância especular não-ideal: Aproximação Empírica

•Ilustração da distribuição da reflexão:

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Modelo de Iluminação de Phong

•Modelo mais usado em Computação Gráfica:

( ) shinynlightsspecular IkI φcos=

•nshiny é constante puramenteempírica que faz variar a taxa de falloff da reflexão•Nenhum fundamento físico,mas “funciona” em ComputaçãoGráfica

v

D. Brogan, Univ. of Virginia

Page 25: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

25

Alberto Raposo – PUC-Rio

Modelo de Iluminação de Phong

•O termo do cos pode ser calculado via aritmética de vetores:

– v é o vetor unitário em direção ao observador– r é a direção de reflexão ideal

( ) shinynlightsspecular rvIkI ⋅=

v

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Phong: o termo nshiny

φ

brilho

D. BroganUniv. of Virginia

Page 26: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

26

Alberto Raposo – PUC-Rio

Componente de reflexãoespecular

( ) ( )( )( )( ) ⎟⎟

⎟⎟

⎜⎜⎜⎜

⋅⋅⋅

=⋅⎟⎟⎟

⎜⎜⎜

⎛=⋅

⎟⎟⎟

⎜⎜⎜

⎛⊗⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

nsbb

nsgg

nsrr

n

sbb

sgg

srrn

sb

sg

sr

b

g

r

b

g

r

klklkl

klklkl

kkk

lll

III

vrvrvr

vrvrˆˆˆˆˆˆ

ˆˆˆˆ

I, l, k ∈ [0 ,1 ]

r̂v̂

M. Gattass, PUC-Rio

Alberto Raposo – PUC-Rio

Exemplos: Phong

•Esferas com modelo de Phong, variando l e nshiny:

D. BroganUniv. of Virginia

Page 27: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

27

Alberto Raposo – PUC-Rio

Combinando Tudo

• Modelo analítico simples: – reflexão difusa +– reflexão especular +– emissão +– “ambiente”

Superfície

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Combinando Tudo

• Modelo analítico simples: – reflexão difusa +– reflexão especular +– emissão +– “ambiente”

D. BroganUniv. of Virginia

Surface

Page 28: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

28

Alberto Raposo – PUC-Rio

Equação Final Combinada

• Para uma fonte de luz:

Ln

SLDALAE IRVKILNKIKII )()( •+•++=

N

LR

V

observadorα

θθ

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Equação Final Combinada• Para várias fontes de luz:

))()((∑ •+•++=i i

niSiiDALAE IRVKILNKIKII

N

L2

V

observador L1

D. BroganUniv. of Virginia

Page 29: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

29

Alberto Raposo – PUC-Rio

Modelo de Reflectância do OpenGL

• Soma difusa, especular, emissão e ambiente

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

VRML – Material Node

12_material.wrl

Page 30: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

30

Alberto Raposo – PUC-Rio

Sumário

• Iluminação direta (local)√ Emissão nas fontes de luz√ Dispersão nas superfícies

• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos

Iluminação direta

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Iluminação Global

• Noção de que um ponto é iluminado não sópelos raios provenientes das fontes locais, mastambém por todos os emissores e refletores nacena global

Page 31: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

31

Alberto Raposo – PUC-Rio

Exemplo: reflexão de outros objetos

Superfície especular

n̂v̂θ

θ

ipr̂

rpp ˆ)(: ttrefletidoRaio i +=

M. Gattass, PUC-Rio

Alberto Raposo – PUC-Rio

Aplicando a Iluminação: Tonalização (Shading)

• Já temos modelo de iluminação para pontona superfície

• Assumindo que superfícies são malhas de polígonos, que pontos usar?– É cálculo muito custoso– Há várias possibilidades, cada uma gerando

qualidade visual diferente

Page 32: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

32

Alberto Raposo – PUC-Rio

Aplicando a Iluminação

• Com malhas poligonais/triangulares:– Cada face tem normal constante– Se a luz é direcional, a reflexão difusa é

constante ao longo da face. (Só depende danormal – constante – e da direção de incidênciados raios – também constante no caso de luzdirecional.)

Alberto Raposo – PUC-Rio

Flat Shading• Abordagem mais simples: calcula iluminação em

um único ponto para cada polígono

D. BroganUniv. of Virginia

Page 33: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

33

Alberto Raposo – PUC-Rio

Flat shading não é realista paraobjetos facetados

• Para fontes puntuais, direção da luz varia aolongo da face

• Para reflexão especular, adireção dos olhos variaao longo da face

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Flat Shading

• Pode ser refinado usando o modelo de iluminação de Phong em cada pixel de cadapolígono, mas o resultado ainda seráclaramente facetado:

D. BroganUniv. of Virginia

Page 34: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

34

Alberto Raposo – PUC-Rio

Normais dos vértices

•Para conseguir visualizações mais“lisas” das superfícies, pode-se usara normais dos vértices de cadapolígono– Geralmente diferente da normal da face– Usada apenas para shading– Imagine como uma melhor aproximação da

superfície real do que os polígonosD. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Normais dos vértices

• Podem ser – Dadas com o modelo– Calculadas diretamente– Aproximadas pela

média das normaisdas faces quecopartilham ovértice

D. BroganUniv. of Virginia

Page 35: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

35

Alberto Raposo – PUC-Rio

Gouraud Shading

• Abordagem mais comum em CG– Executa modelo de iluminação de Phong nos vértices– Interpola linearmente os resultados sobre as faces

• Ao longo das arestas• Ao longo das scanlines

C1

C2

C3

c1 + t1(c2-c1)

c1 + t2(c3-c1)c1 + t1(c2-c1) + t3(c1 + t2(c3-c1)- c1 + t1(c2-c1))

– OpenGL, VRML

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Gouraud Shading

• Artefatos aparecem às vezes• Não tem componente especular preciso

– Se existente, seria “distribuído” em todo o polígono

C1

C2

C3

Não dá para fazer esse efeito!

D. BroganUniv. of Virginia

Page 36: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

36

Alberto Raposo – PUC-Rio

Gouraud Shading

C1

C2

C3

Artefatos– Mach Banding

Ocorre nas descontinuidades de intensidade ou naderivada da intensidade

C4

Descontinuidade nataxa de mudança

de cores

http://www.edcenter.sdsu.edu/slides/GA/visteacher/sld048.htm

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Phong Shading• Não é a mesma coisa que o modelo de

iluminação de Phong!– Phong lighting: modelo empírico que foi mostrado

para cálculo da iluminação em um ponto de umasuperfície

– Phong shading: interpolação linear da normal dasuperfície ao longo da face, aplicando o modelo de iluminação de Phong em cada pixel

• Mesmo input que Gouraud• Resultados geralmente muito melhores• Muito mais caro computacionalmente

D. BroganUniv. of Virginia

Page 37: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

37

Alberto Raposo – PUC-Rio

Phong Shading

• Interpola linearmente as normais dos vértices– Calcula equações de iluminação em cada pixel– Pode usar componente especular

N1

N2

N3

N4

( ) ( )∑=

⎟⎠⎞⎜

⎝⎛ ⋅+⋅+=

lights

i

n

isidiambientatotalshinyRVkLNkIIkI

#

1

ˆˆˆˆ

Normais são usadas nascomponentes difusa e especular

Descontinuidade na derivada danormal é mais difícil de detectarvisualmente

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Suavização da tonalização

c1 c4

c2

c3

c12 c43c

N1 N4

N2

N3

N12 N43

c

GouraudPhong

N

M. Gattass, PUC-Rio

Page 38: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

38

Alberto Raposo – PUC-Rio

Limitações das Tonalizações• Silhuetas poligonais permanecem

Gouraud Phong

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Resumo de tonalização

• Flat Shading– Calcula a iluminação de Phong uma única vez para

cada polígono

• Gouraud Shading– Calcula a iluminação de Phong para os vértices e

interpola os valores obtidos ao longo do polígono

• Phong Shading– Interpola as normais ao longo do polígono e calcula a

iluminação de Phong ao longo de todo o polígono

Page 39: Pipeline Gráfico - PUC-Riowebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2005/12... · 2005. 10. 6. · Modelando Fontes de Luz •IL(x,y,z,θ,φ,λ) ... •Raios de luz tendem

39

Alberto Raposo – PUC-Rio

Informações Adicionais

• Peter Shirley. Fundamentals of Computer Graphics, A K Peters, Ltd., Natick, MA, USA, 2002.

• Foley, J. D., Van Dam, A., Feiner, S. K., e Huhes, J. F., Phlips, L. R., Introduction to ComputerGraphics, Addison-Wesley, 1995.

• Rogers, D. F., Procedural Elements for ComputerGraphics. McGraw-Hill, 1985

• Marcelo Gattass: notas de aula. http://www.tecgraf.puc-rio.br/~mgattass/cg.html

• The Annotated VRML 97 Reference: http://accad.osu.edu/~pgerstma/class/vnv/resources/info/AnnotatedVrmlRef/Book.html