alberto raposo – puc-rio inf 1366 – computação gráfica interativa iluminação e shading...

77
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

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa

Iluminação e Shading

Alberto B. Raposo

[email protected]://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm

Page 2: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@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 3: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Iluminação

• Como computar a irradiação de um raio de luz?

Angel Figure 6.2

D. BroganUniv. of Virginia

Page 4: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 5: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 6: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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)

LightD. BroganUniv. of Virginia

Page 7: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 8: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Luz Ambiente

•Objetos que não são iluminados diretamente são geralmente 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 9: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 10: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fonte de luz ambiente

•Para cada comprimento de onda amostrado (R, G, B), a luz ambiente refletida em uma superfí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 Iambient D. BroganUniv. of Virginia

Page 11: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 12: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Componente de luz ambiente

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

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

D. BroganUniv. of Virginia

Page 13: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fontes de luz direcionais

• Para uma fonte direcional, algumas simplificações també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 em relação à da luz é importante– Posição da fonte e do observador não são importantes

D. BroganUniv. of Virginia

Page 14: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fontes de luz direcionais

•A mesma cena anterior, agora com luz ambiente e direcional

D. BroganUniv. of Virginia

Page 15: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Comparando:

D. BroganUniv. of Virginia

Só luz ambiente Luz ambiente + fonte direcional

Page 16: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fontes de luz puntuais

•Uma fonte puntual emite luz igualmente em todas as direções a partir de um único ponto

•A direção da luz que chega em uma superfí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 17: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Spot Lights

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

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

– Existem em OpenGL eVRML

Page 18: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML / X3D• Iluminação:

– Directional Light– PointLight– SpotLight

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

Page 19: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Directional Light

The annotated VRML ref.

Page 20: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Directional Light

The annoteted VRML ref.

Page 21: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Point Light

Page 22: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Point Light

The annoteted VRML ref.

Page 23: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Spot Light

SpotLight {

color 1 1 1

location 0 0 0

direction 0 0 -1

radius 100

cutOffAngle 0.785398

beamWidth 1.570796

on TRUE (...) }

Page 24: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Spot Light

The annoteted VRML ref.

Page 25: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fontes de Área

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

D. BroganUniv. of Virginia

Page 26: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

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

Page 27: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 28: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 29: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Modelos Empíricos

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

Superfície

()

)

D. BroganUniv. of Virginia

Page 30: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 qualquer direção do “hemisfério”:

A física da reflexão

D. BroganUniv. of Virginia

Page 31: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Reflexão difusa

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

Superfície

dL

cosdAdLdA

D. BroganUniv. of Virginia

Page 32: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 refletida de uma fonte de luz em uma dada direção por um pequeno pedaço de uma superfície é proporcional ao cosseno do ângulo entre aquela direção e a normal da superfície naquele pequeno pedaço

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

Page 33: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Lei de Lambert

D. BroganUniv. of Virginia

Page 34: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Computando a Reflexão Difusa

•O ângulo entre a normal da superfície e o raio incidente é 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 35: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Componente de reflexão difusa

Ln

Ln

Ln

LnLnˆˆ

ˆˆ

ˆˆˆˆˆˆ

dbb

dgg

drr

dbb

dgg

drr

db

dg

dr

b

g

r

b

g

r

kl

kl

kl

kl

kl

kl

k

k

k

l

l

l

I

I

I

I, l, k [0 ,1 ]

L̂ n̂

n̂L̂

n̂L̂M. Gattass, PUC-Rio

Page 36: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Exemplos de incidência difusa

•Consideram-se ângulos de incidência entre 0° e 90°

•Uma esfera lambertiana vista com diferentes ângulos de incidência:

D. BroganUniv. of Virginia

Page 37: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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ção do observador:– Reflexão especular depende da visão do observador!

D. BroganUniv. of Virginia

Page 38: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 como espelhos

•Quanto mais lisa, mais próxima do espelho perfeito

Page 39: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 raio incidente e a normal:

(l)ight = (r)eflection

D. BroganUniv. of Virginia

Page 40: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Reflexão Especular

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

N

LR

D. BroganUniv. of Virginia

Page 41: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

L R

L=R

D. BroganUniv. of Virginia

Page 42: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 43: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

L R

L=R

2(N.L)N

D. BroganUniv. of Virginia

Page 44: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 45: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Geometria da Reflexão

N

L RN(L)

L R

L=R

L2(N.L)N

D. BroganUniv. of Virginia

LNLNLRN 2)(

Page 46: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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ção na 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ções ligeiramente diferentes da ideal D. Brogan

Univ. of Virginia

Page 47: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 48: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 49: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 50: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Phong: o termo nshiny

brilho

D. BroganUniv. of Virginia

Page 51: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Componente de reflexão especular

nsbb

nsgg

nsrr

n

sbb

sgg

srrn

sb

sg

sr

b

g

r

b

g

r

kl

kl

kl

kl

kl

kl

k

k

k

l

l

l

I

I

I

vr

vr

vr

vrvr

ˆˆ

ˆˆ

ˆˆ

ˆˆˆˆ

I, l, k [0 ,1 ]

M. Gattass, PUC-Rio

Page 52: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Exemplos: Phong

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

D. BroganUniv. of Virginia

Page 53: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 54: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 55: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Equação Final Combinada

• Para uma fonte de luz:

Ln

SLDALAE IRVKILNKIKII )()( Ln

SLDALAE IRVKILNKIKII )()(

N

LR

V

observador

D. BroganUniv. of Virginia

Page 56: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

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

))()(( i i

niSiiDALAE IRVKILNKIKII ))()((

i in

iSiiDALAE IRVKILNKIKII

N

L2

V

observador L1

D. BroganUniv. of Virginia

Page 57: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Modelo de Reflectância do OpenGL

• Soma difusa, especular, emissão e ambiente

D. BroganUniv. of Virginia

Page 58: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

VRML – Material Node

Page 59: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 60: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Iluminação Global

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

Page 61: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Exemplo: reflexão de outros objetos

Superfície especular

ipr̂

rpp ˆ)(: ttrefletidoRaio i

M. Gattass, PUC-Rio

Page 62: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

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

• Já temos modelo de iluminação para ponto na 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 63: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 da normal – constante – e da direção de incidência dos raios – também constante no caso de luz direcional.)

Page 64: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 65: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Flat shading não é realista para objetos facetados

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

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

D. BroganUniv. of Virginia

Page 66: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Flat Shading

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

D. BroganUniv. of Virginia

Page 67: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 68: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Normais dos vértices

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

média das normais das faces que copartilham ovértice

D. BroganUniv. of Virginia

Page 69: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

Page 70: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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ígonoC1

C2

C3

Não dá para fazer esse efeito!

D. BroganUniv. of Virginia

Page 71: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Gouraud Shading

C1

C2

C3

Artefatos– Mach Banding

Ocorre nas descontinuidades de intensidade ou na derivada da intensidade

C4

Descontinuidade nataxa de mudança

de cores

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

D. BroganUniv. of Virginia

Page 72: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 uma superfície– Phong shading: interpolação linear da normal da

superfí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 73: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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

isidiambientatotal

shinyRVkLNkIIkI

#

1

ˆˆˆˆ

Normais são usadas nascomponentes difusa e especular

Descontinuidade na derivada danormal é mais difícil de detectarvisualmente

D. BroganUniv. of Virginia

Page 74: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 75: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Limitações das Tonalizações

• Silhuetas poligonais permanecem

Gouraud Phong

D. BroganUniv. of Virginia

Page 76: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 77: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

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 Computer Graphics,  Addison-Wesley, 1995.

• Rogers, D. F., Procedural Elements for Computer Graphics. 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