You are on page 1of 15

Iluminação e Sombreamento

CÁLCULOS DE
ILUMINAÇÃO E
SOMBREAMENTO

Prof. João Carlos Bernardo
Prof. João Madeiras Pereira
Instituto Superior Técnico
1998/1999

© JCB, JAP, Instituto Superior Técnico 1998, 1999

MODELOS DE ILUMINAÇÃO E REFLEXÃO

• Essencial na construção de representações , a duas dimensões, de
objectos tridimensionais , com umsignificativo grau de realismo .

• Modelo de Reflexão descreve a forma como a luz interage com a
superfície dos objectos, função das propriedades dessas superfícies e
da 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
que se pretende representar.

• Definidos estes modelos e conhecidas as posições e orientações
relativas dos objectos e das fontes de luz, é possível proceder ao
Cálculo de Sombreamento das superfícies desses objectos
(“Shading”).
© JCB, JAP, Instituto Superior Técnico 1998, 1999

1

1. A intensidade da Luz Difusa é dada pela Lei de Lambert Id = Ii . em torno da direcção de reflexão ideal (ângulo de reflexão igual ao ângulo de incidência) • Componente difusa é propagada em todas as direcções e é responsável pela cor do objecto (parte da luz incidente é selectivamente absorvida pelo próprio objecto). Kd cos ? 0 ? ? ? ? ?2 N L Constante Kd (reflectividade difusa) ? [0.n ( Ln .Iluminação e Sombreamento MODELO DE REFLEXÃO PHONG • Modelo de Reflexão de Phong : compromisso grau de realismo versus carga computacional equilibrado • A Intensidade Luminosa (ou a côr) em cada pixel: combinação linear de três componentes : • Reflexão Ambiente • Reflexão Difusa • Reflexão Especular • Componente especular modela o grau de brilho de uma superfície e é representada pela quantidade de luz reflectida . Instituto Superior Técnico 1998. N ) N1 Havendo várias Id = Kd ? Ii. JAP. Kd ( L . de modo especular. N ) N2 fontes de luz (n): n © JCB. JAP. 1999 2 . N3 Em notação vectorial: Id = Ii .0. Instituto Superior Técnico 1998. 1999 REFLEXÃO DIFUSA • Superfície difusora perfeita difunde a mesma intensidade luminosa em todas as direcções ? a luminosidade apreendida por um observador não depende do seu ponto de vista. © JCB.0] traduz a dependência face à natureza do material e ao comprimento de onda da luz incidente.

ou seja. a luz raio raio reflectida fazcom a normal à superfície um ângulo incidente reflectido cujo valor coincide com o ângulo de incidência da fonte de luz . 1999 REFLEXÃO ESPECULAR • Na vida real. as superfícies não são completamente baças. I = Ia . vulgarmente designadas por espelhos. © JCB. N Em superfícies reflectoras (especulares) perfeitas. Kd (L .Iluminação e Sombreamento LUZ AMBIENTE • Contabilizar apenas a contribuição directa das fontes de luz: pouco realista (objectos no escuro. sendo a superfície visível apenas quando o ponto de vista do observador coincide com essa direcção. posicionada no infinito. •Resultado: os objectos “flutuam” no espaço • Carácter local: inexistência de interacção luminosa entre pares de objectos. Instituto Superior Técnico 1998. reflectora perfeita Neste caso. JAP. seria reflectida segundo uma única direcção. Instituto Superior Técnico 1998. própria das superfícies polidas. nem entre estes e os planos delimitadores da cena (“backgrounds”). Ka + Ii . iluminados por uma lanterna). N) Ka é constante para um dado objecto ( Coeficiente de Reflexão de Luz Ambiental) •A luz ambiente incide nos objectos sob todas as direcções e resulta de múltiplas reflexões nas superfícies dos objectos e nas fronteiras da cena. 1999 3 . toda a luz proveniente de uma fonte pontual.direcção de reflexão ideal superf. JAP. embora “invisíveis ” segundo a direcção de incidência da fonte de luz. ? Grau de brilho resultante de uma componente de reflexão especular. © JCB. não se comportam como difusores de luz perfeitos. •Iluminar superfícies visíveis do ponto de vista do observador.

de valor constante e dependente das propriedades ópticas do material. • n (“shininess”) traduz o grau de brilho © JCB. JAP. iluminada por uma fonte de luz branca. N) + Ks cosn ? ? I = Ia . através de uma função do tipo cos n • Ks é o coeficiente de reflexão especular. • Não se considera a natureza dos materiais : área especular tem a mesma cor da fonte de luz • Reflexão difusa determina a cor de um dado objecto (uma superfície verde. V) n ? • Reflexão especular modelada empiricamente : relaciona-se com o ângulo formado entre o raio reflectido e a direcção de observação. © JCB. 1999 4 . Instituto Superior Técnico 1998. Ka + Ii ? Kd (L . 1999 CÁLCULO DA INTENSIDADE LUMINOSA N L R V I = Ia . difunde luz de cor verde). JAP. Instituto Superior Técnico 1998. Ka + Ii ? Kd (L . N) + Ks (R .Iluminação e Sombreamento COMBINAÇÃO DAS VÁRIAS COMPONENTES N R N L L V V Componente Difusa Componente Especular • Superfícies não são reflectoras ideais : concentração da componente especular num lóbulo centrado na direcção de reflexão ideal (área de “highlight”).

quanto mais baça fôr a superfície maior será a dimensão dessa área e portanto n baixo • Intensidade da zona especular controlada por Ks © JCB. Instituto Superior Técnico 1998. V) n ? / (r + K) • r corresponde ao valor da distância entre o objecto e o ponto de observação • K é uma constante © JCB. • n determina as dimensões da área especular: quanto mais brilhante fôr a superfície. JAP. Instituto Superior Técnico 1998.) N especular L (n <<) (n >>) R ambiente + difusa V P • A intensidade luminosa em P é dada pela distância entre P e o ponto de intersecção entre V e o perfil de iluminação (função do ângulo entre V e R). ou seja. n elevado. 1999 5 . menor deverá ser a área de “highlight”. • “depth cueing” no modelo de Phong para considerar o efeito da atenuação atmosférica sobre a intensidade da luz que parte dos objectos e atinge o ponto de observação: I = Ia . JAP. N) + Ks (R . Pelo contrário.Iluminação e Sombreamento CÁLCULO DA INTENSIDADE LUMINOSA (CONT. Ka + Ii ? Kd (L . 1999 ATENUAÇÃO ATMOSFÉRICA (“DEPTH CUEING”) • Depth Cueing”: representar com menor intensidade luminosa os objectos que se encontrem mais afastados do ponto de observação.

H = (L+V)/2. planar e a forma dos “highlights” altera-se). Ka + Ii ? Kd (L . © JCB. JAP.H em vez de R. 1999 Aproximação de Blinn N L H O cálculo do vector R é caro pelo que se calcula H. (um maior espalhamento da área de“highlight” pode ser controlado pelo aumento do valor de n). 1999 6 . JAP. ângulo entre R e V é o dobro do ângulo entre N e H. H) n ? / (r + K) • determina-se a componente especular em função de N. Instituto Superior Técnico 1998. que reflecte segundo V. • A geometria. é ignorada (fontes de luz e o observador encontram-se no infinito): vectores L e V passam a ser considerados constantes em toda a cena (não há variação de intensidade numa superf.V. I = Ia . vector normal à faceta hipotética. reflectora pura. excepto a normal à superfície. V I depende só da normal à superfície N. N) + Ks (N .Iluminação e Sombreamento SIMPLIFICAÇÕES GEOMÉTRICAS • Fontes de Luz no infinito (a distribuição da intensidade dos raios luminosos é ignorada). Instituto Superior Técnico 1998. © JCB.

Kag + Ii ? Kdg (L .b) . 1999 7 .b) . Kar + Ii ? Kdr (L . Instituto Superior Técnico 1998.b) + Ii (r. JAP.g.0 Ka . N) + Ks (N .b) = Ia Ka Cd (r. JAP.g.Iluminação e Sombreamento CONTROLO DA COR Uma aproximação simples para o tratamento de objectos coloridos: 1) Luz reflectida em modo especular branca (fonte de luz branca) 2) Controlar a cor do objecto através de uma atribuição criteriosa de valores a três coeficientes de reflexão difusa (um por cada comp.g. Ka (r. cromática do sistema RGB).b) (N .g.b) + Ii [ Kd (r. Kab + Ii ? Kdb (L . Instituto Superior Técnico 1998. 1999 CONTROLO DA COR (cont.0 e 1.g. H)n ] © JCB.b) = Ia . H) n ] © JCB.percentagem de cor difusa (componente ambiente) Nestas condições o cálculo de cor é realizado pela seguinte expressão: I (r. N) + Ks Cs (r.constante difusa entre 0.b) (L .cor especular Ks .g. H) n ? Ib = Ia . H) n ? • Numa só expressão vectorial: I (r. H) n ? Ig = Ia . Ir = Ia .g.b) [ Kd Cd (r. N) + Ks (N . o controlo da cor faz-se através da especificação dos seguintes parâmetros (fonte de luz pode não ser branca): Cd (r.cor difusa Cs (r.) Na maior parte das bibliotecas gráficas.g. N) + Ks (N .g. N) + Ks (N .constante especular entre 0.0 e 1.0 Kd .g.b) (L .

1999 8 . em cada ponto. independentemente da cor do objecto. A única variável geométrica é o vector normal às superfícies dos objectos. Ignora-se todo e qualquer modelo de distribuição de intensidade de luz na fonte. © JCB. • Considera-se que as fontes de luz e o ponto de observação estão no infinito. © JCB. • Assume-se que a cor da luz reflectida em modo especular é igual à da fonte de luz.Iluminação e Sombreamento PRINCIPAIS CARACTERÍSTICAS DO MODELO DE PHONG • As fontes de luz são consideradas pontuais . Especular em torno da direcção de reflexão ideal (função do grau de “polimento” da superfície ). da normal e aplicação do mod. Instituto Superior Técnico 1998. • • A componente de luz ambiente é modelada como sendo um termo constante para cada objecto. Instituto Superior Técnico 1998. JAP. de reflexão de Phong para o cálculo da intensidade luminosa • Solução: adoptar uma aproximação poligonal para a descrição geométrica dos objectos e recorrer a técnicas de sombreamento interpoladoras e incrementais (cálculo de intensidades nos vértices e interpolação de valores para pontos interiores de modo a atenuar a geometria facetada). JAP. • As componentes difusa e especular são processadas de forma local. Não se considera a luz reflectida que provenha da reflexão de outros objectos. 1999 TÉCNICAS INCREMENTAIS DE SOMBREAMENTO Exemplos de aplicação do modelo de reflexão de Phong no cálculo de sombreamento de objectos descritos através de malhas de polígonos. • Considera-se um modelo empírico para determinar a atenuação da comp. • Método directo (força bruta !): determinação.

Isto significa que a cor especular nunca vai ser calculada. © JCB. num intervalo de tempo muito curto. • Regra geral. geralmente. considera-se que L e N são constantes ao longo de toda a superfície de um polígono e despreza-se a dependência da intensidade luminosa face à distância entre cada ponto do polígono e o ponto de observação (ignora-se o termo r + K ).Iluminação e Sombreamento SOMBREAMENTO CONSTANTE O método de Sombreamento Constante (“Constant Shading” ou “Flat Shading”) corresponde à solução mais simples e de computação mais rápida. JAP. 2) Mesmo não se verificando a condição anterior.L e N. quando se pretende obter uma primeira representação da cena (“preview”). Os resultados obtidos por este método só são aceitáveis se: 1) A malha poligonal a sombrear representa realmente a superfície do objecto . Tal corresponde a admitir que os produtos N. através do recurso a um processo de interpolação bilinear de intensidades .H) são constantes dentro de cada polígono. Instituto Superior Técnico 1998. JAP. 1999 SOMBREAMENTO DE GOURAUD • Primeiro método conhecido (Gouraud 71) que supera as desvantagens do sombreamento constante. Calcula-se a intensidade luminosa para um só ponto de cada polígono e aplica-se o valor obtido no sombreamento de toda a sua área interior. não sendo por isso uma aproximação grosseira de uma superfície curva original. Instituto Superior Técnico 1998. à componente de reflexão difusa porque a forma da área especular fica fortemente condicionada pela geometria da malha de polígonos: pode acontecer que highlight no interior de um polígono. • Restringe-se. © JCB.V (ou N. 1999 9 .

© JCB. y s) Is (xb. JAP.y 4 ) + I4 ( y 1 . n = Is. Instituto Superior Técnico 1998.xa I Numa linha de varrimento (x + ? x): (x4. Ia = 1 [ I1 ( y s .xs ) + Ib ( xs .xa ) ] ys (xa .1 + Is I3 (x3.) N1 NA N4 N3 Passos do Algoritmo : N2 1) Calcular os vectores normais a cada um dos vértices da malha de polígonos. (o método pressupõe que as normais nos vértices da malha de polígonos são boas aproximações à normal da superfície real. está geralmente integrado no próprio algoritmo de preenchimento de polígonos e pressupõe o cálculo dos lados do polígono no espaço-imagem a partir dos vértices do objecto. Instituto Superior Técnico 1998.Ia ) xb . y 2) Is. y 3) © JCB. y s) xb . y 1) y1 . JAP. da intensidade luminosa nos pontos interiores. 2) Calcular a intensidade luminosa (Iv) em cada um dos vértices da malha de polígonos por aplicação do modelo de Phong (c/ ou sem componente especular) 3) Calcular a intensidade luminosa em todos os pontos interiores de cada polígono por interpolação bilinear a partir das intensidades calculadas para os vértices. nesses mesmos pontos).y 2 ) + I2 ( y 1 .xa I2 (x2.y s ) ] varrimento (x1.Iluminação e Sombreamento SOMBREAMENTO DE GOURAUD (CONT. y44) Is = x (Ib .y s ) ] y1 .y2 Linha de I1 Ib = 1 [ I1 ( y s . n . 1999 10 . 1999 INTERPOLAÇÃO NO MÉTODO DE GOURAUD Interpolação. A normal num dado vértice obtem-se calculando a média das normais de todos os polígonos que partilham esse mesmo vértice.y4 Ia Ib Is = 1 [ Ia ( xb .

mas partindo de vectores normais calculados em coordenadas do Mundo. Vista humana é sensível a variações de intensidade luminosa até à segunda derivada. Instituto Superior Técnico 1998. JAP. nornais aos vértices normais aos polígonos © JCB.Iluminação e Sombreamento PROBLEMAS E LIMITAÇÕES (GOURAUD) . 1999 PROBLEMAS E LIMITAÇÕES (GOURAUD) . • Por exemplo. dado que a interpolação de intensidades é executada em coordenadas de ecrã. Instituto Superior Técnico 1998. Bastante perceptíveis quando a zona especular se estende por vários polígonos. 1999 11 . devido ao efeito de “Mach banding”. © JCB.2 • Podem ocorrer erros porque as normais aos vértices são calculadas pela média das normais aos polígonos. movimentações de câmara). quando a aproximação poligonal é pouco rigorosa e se observa uma conjunção indesejada dos valores das normais em polígonos adjacentes .1 • Percepção parcial da malha poligonal de base. translacções . JAP. • Perturbações perceptíveis em sequências animadas (c/ rotações. um falso “alisamento” de troços da superfície. apreende descontinuidades junto das fronteiras poligonais (faixas brilhantes).

y 1) xb . separadamente. y 4) N3 (x2.1 Na = 1 [ N1 ( y s .y s ) ] y1 .y 4 ) + N4 ( y 1 .xa ) ] varrimento (x1.y4 Linha de N1 Ns = 1 [ Na ( xb . 1999 INTERPOLAÇÃO NO MÉTODO DE PHONG . • Calcula-se. Instituto Superior Técnico 1998.xs ) + Nb ( xs . • Para que a intensidade luminosa em cada ponto seja apenas função da normal interpolada. JAP.xa Na Nb (xa .Iluminação e Sombreamento SOMBREAMENTO DE PHONG • O método de sombreamento de Phong (Phong 75) permite modelar correctamente as áreas de “highlight”.y 2 ) + N2 ( y 1 . y s) ys Ns N2 N4 (x4. uma interpolação bilinear para calcular a intensidade luminosa nos pontos interiores aos polígonos: o método de Gouraud interpola intensidades nos vértices.y s ) ] y1 . y s) (xb. y 2) © JCB. © JCB. o método de Phong interpola as normais aos vértices. obtido por interpolação para esse ponto. também. considera-se que a fonte de luz e o ponto de observação estão a uma distância infinita. • Executa. JAP. Instituto Superior Técnico 1998. 1999 12 . a intensidade de cada ponto a partir do valor de um vector normal.y2 Nb = 1 [ N1 ( y s .

1999 INTERPOLAÇÃO NO MÉTODO DE PHONG . © JCB.xa • A interpolação torna-se três vezes mais dispendiosa que na solução de Gouraud • Deve calcular-se. n . © JCB. n . n = Nsy. utilizados no normais interpoladas cálculo das intensidades luminosas. JAP. (em x. a interpolação de superf. Instituto Superior Técnico 1998. n = Nsz. original normais tende a recuperar a curvatura da superfície original.xa Nsx. • Assim sendo. 1999 13 .1 + Nsy xb . constituam boas aproximações às normais exactas.Iluminação e Sombreamento INTERPOLAÇÃO NO MÉTODO DE PHONG .xa Nsz.3 • As expressões para o cálculo de normais interpoladas são expressões vectoriais . ao longo de uma linha do varrimento: Nsx = x (Nbx . n .Naz) xb . JAP. y e z). a expressão da intensidade luminosa do modelo de reflexão de Phong. n = Nsx.Nax) Com: xb . • Tem-se assim.1 + Nsx Nsy = x (Nby .1 + Nsz Nsz = x (Nbz .2 • Pressupõe-se que os vectores interpolados Ns. Instituto Superior Técnico 1998. para cada pixel.Nay) Nsy. Cada uma desdobra-se em três equações distintas .

• A interpolação de intensidades . não está de acordo com a distorção provocada pela transformação de perspectiva. (testes preliminares. Instituto Superior Técnico 1998. JAP. Adicionar a parcela de reflexão especular. Por combinação dos métodos de Phong e Gouraud: 1) Aplicação do método de Phong no cálculo da intensidade luminosa em pixeis alternados. para selecção desses polígonos). recorrendo ao cálculo de uma média simples para os pixeis intermédios. aproximadas por malhas de polígonos.1 • Aspecto marcadamente poligonal ao longo dos lados que constituem a silhueta de superfícies curvas. 1999 PROBLEMAS DO SOMBREAMENTO INTERPOLADO . constante ao longo das linhas de varrimento. 2) Aplicação do método de Gouraud para calcular a componente de reflexão difusa em toda a superfície do objecto. aproximando a equação de Phong a uma Série de Taylor (simples cálculo de adições). Instituto Superior Técnico 1998. apenas para os polígonos total ou parcialmente cobertos por áreas de highlight. © JCB. 1999 14 .Iluminação e Sombreamento COMO OPTIMIZAR O SOMBREAMENTO Por optimização matemática. calculada através do método de Phong. d2 d1 Em wc: d1 < d2 © JCB. entre as normais aos vértices e o vector de máxima reflexão H. JAP.

JAP. 1999 Teapot . 1999 15 . Perturbações quando a orientação de um objecto varia lentamente ao longo da sequência de imagens de um trecho de animação. A.B.Sombreamento constante Teapot . A. Instituto Superior Técnico 1998.Iluminação e Sombreamento PROBLEMAS DO SOMBREAMENTO INTERPOLADO .B.C • Nem sempre as normais calculadas nos vértices da malha de polígonos constituem uma boa aproximação à normal da superfície a sombrear (refinar a aproximação poligonal). A B D P B A P C D C interpol.Sombreamento Phong © JCB.modelo Wire-Frame Teapot . JAP.D interpol.Sombreamento Gouraud Teapot . © JCB. Instituto Superior Técnico 1998.2 • O resultado do sombreamento depende da orientação dos polígonos.