computação gráfica modelos de iluminação mauricio cunha escarpinati [email protected]...
TRANSCRIPT
![Page 2: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/2.jpg)
Apresentação
• Objetivos da aula:
•Apresentar conceitos de iluminação 3D;
•Tipos de Fontes de Luz;
•Modelos de Reflexão;
![Page 3: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/3.jpg)
Apresentação
• Justificativa;
• Dependência que a qualidade de imagens graficamente geradas tem em relação às técnicas de iluminação utilizadas;
• Variação de técnicas e algoritmos existentes para este fim;
![Page 4: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/4.jpg)
Apresentação
• Abordagem;
•Será apresentado o problema e algumas possíveis soluções na forma de técnicas e algoritmos;
•Apresentação de exemplos utilizados por bibliotecas gráficas na manipulação de tais algoritmos;
•Apresentação prática de um sistema desenvolvido para exemplificar os efeitos das componentes de reflexão no processo de iluminação;
![Page 5: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/5.jpg)
IluminaçãoIntrodução
• O grande objetivo da CG é criar cenas virtuais com o máximo de realismo possível;
• Para isso busca-se modelos e algoritmos computacionais que descrevam matematicamente objetos e cenas da melhor forma possível;
• Dessa forma as técnicas de iluminação buscam uma forma de computar a irradiação de um raio de luz;
• É importante lembrar que o raio de luz é composto por ondas eletromagnéticas;
![Page 6: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/6.jpg)
Superfície especular (Polida)Todos os fótons são perfeitamente refletidos
Fonte de Luz
Fótons de luz
IluminaçãoInterações do fóton de luz na natureza
N
θ θ
![Page 7: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/7.jpg)
Fonte de Luz
Fótons de luz
Superfícies irregulares (rugosa)a reflexão também se torna irregular
IluminaçãoInterações do fóton de luz na natureza
![Page 8: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/8.jpg)
Fonte de Luz
Fótons de luz
Parte dos fótons são convertidos em calor
IluminaçãoInterações do fóton de luz na natureza
![Page 9: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/9.jpg)
Fonte de Luz
Fótons de luz
Objeto Translúcido
(Transparente)
IluminaçãoInterações do fóton de luz na natureza
![Page 10: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/10.jpg)
Iluminação de Objetos 3DObjetivos
• Criar modelos Computacionais para:• Simular Fontes de Luz e as devidas
emissões de fótons;
• Dispersão desses fótons na superfície;
• Recepção nas câmeras;
• Características desejadas:• Concisão;
• Eficiência;
• Precisão;
![Page 11: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/11.jpg)
Iluminação de Objetos 3DModelando as Fontes de Luz
• IL(x,y,z,θ,Φ,ג)
• Descreve a intensidade de energia;
• Saindo de uma Fonte de Luz;
• Chegando em (x,y,z);
• Da direção (θ,Φ);
• Com comprimento de onda ג;
• Modelos Empíricos;• Idealmente deveriam medir a energia
irradiada em todas as situações;
•Muita Informação;
•Difícil na prática
![Page 12: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/12.jpg)
Iluminação de Objetos 3DModelando as Fontes de Luz
• Pensando num modelo digital pode-se assumir que:
• Todo objeto da cena é potencialmente uma fonte de luz (emissores e refletores);
• Emissores podem ser entendidos como lâmpadas, sol, estrelas, vela, fogo.. E são caracterizados por suas intensidades ou freqüências;
• Refletores são quaisquer objetos da cena e são caracterizados pelas propriedades de suas superfícies como cor, material, polimento, etc.
• Os tipos emissores podem ser classificados como ambiente, natural ou artificial;
![Page 13: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/13.jpg)
Iluminação de Objetos 3DFontes de luz Ambiente
![Page 14: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/14.jpg)
Iluminação de Objetos 3DFontes de luz Ambiente
• Reflexões indiretas são computacionalmente 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 15: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/15.jpg)
Iluminação de Objetos 3DFontes de luz Ambiente
•Para cada comprimento de onda amostrado (R, G, B), a luz ambiente refletida em uma superfície depende de:
• Propriedade da superfície, kambiente;
• Intensidade, Iambiente da fonte de luz ambiente (constante para todos os pontos em todas as superfícies)
Irefletida = kambienteIambiente
![Page 16: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/16.jpg)
Iluminação de Objetos 3DFontes de luz Ambiente
• Objeto exibido a frente de um fundo preto onde foi utilizada somente a luz ambiente no processo de renderização
![Page 17: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/17.jpg)
• Este tipo de fonte é usualmente empregada na elaboração de luz ambiente;
• Algumas simplificações devem ser 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;• Ideal para representação para luz do Sol;
• Inclinação dos raios em relação a superfície são importantes;• Posição do observador não é importante;
Iluminação de Objetos 3DFontes de luz Direcionais
![Page 18: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/18.jpg)
Iluminação de Objetos 3DFontes de luz Direcionais
Comparando:
![Page 19: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/19.jpg)
Iluminação de Objetos 3DFontes de Luz Pontuais
![Page 20: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/20.jpg)
Iluminação de Objetos 3DFontes de Luz Spot Lights
![Page 21: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/21.jpg)
Iluminação de Objetos 3DReflexões
• Em Computação Gráfica, a manipulação da luz assume um papel fundamental no aspecto realístico da apresentação;
• A maioria dos objetos ao nosso redor não emite luz própria, pelo contrário, refletem a radiação nele incidentes;
• Neste sentido, vários são os algoritmos computacionais que procuram estimar as taxas e tipos de reflexão de cada objeto no processo de iluminação de uma cena.
![Page 22: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/22.jpg)
Iluminação de Objetos 3DModelo Geral da Reflexão na Superfície
• Pensando Matematicamente no processo de reflexão podemos definir:
• Rs(xL, yL, xR, yR, ג)
• Descreve a quantidade de energia incidente;
• Chegando da direção (xL, yL);
• Saindo na direção (xR, yR);
• Com comprimento de onda ג;
• 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
![Page 23: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/23.jpg)
Iluminação de Objetos 3DReflexão Difusa
• 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”
![Page 24: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/24.jpg)
Iluminação de Objetos 3DReflexão Difusa
dL=dAcos(90-θ)
![Page 25: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/25.jpg)
Iluminação de Objetos 3DReflexão Difusa
• Superfícies difusas ideais refletem de acordo com a lei do co-seno 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 co-seno 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 26: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/26.jpg)
Iluminação de Objetos 3DComputando a Reflexão Difusa
• O ângulo entre a normal da superfície e o raio incidente é chamado de ângulo de incidência:
Idifusa = kd I0 cosθ
Onde Idifusa é a intensidade de luz refletida difusamente, I0 é a intensidade de luz inicial recebida, kd representa a refletividade de luz difusa da superfície e θ o ângulo que a direção do feixe de luz faz com a superfície.
Na prática cosθ pode ser determinado pelo produto interno de l e n
Idifusa = kd I0 (n ● l)
![Page 27: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/27.jpg)
Iluminação de Objetos 3DReflexão Difusa
![Page 28: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/28.jpg)
Iluminação de Objetos 3DExemplo de Incidência Difusa
Uma Esfera Lambertiana Vista com Diferentes ângulos de Incidência
![Page 29: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/29.jpg)
• Superfícies brilhantes exibem reflexão especular (Metal Polido);
• O “brilho” da luz sobre superfície especular gera “manchas” brilhantes sobre o objeto: specular highlight;
• Onde esses highlights aparecem é em função da posição do observador;
• Reflexão especular depende da visão do observador.
Iluminação de Objetos 3DReflexão Especular
![Page 30: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/30.jpg)
Iluminação de Objetos 3DFísica da Reflexão
• No nível microscópico a superfície especular deve ser muito lisa;
• Raios de luz tendem a “bater” e refletir como espelhos;
• Reflexão segue a Lei de Snell;• O raio incidente e o refletido estão no mesmo plano que o vetor 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;
![Page 31: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/31.jpg)
Iluminação de Objetos 3DAlgoritmos que Tratam a Reflexão Especular
• Segundo a literatura especializada, não são muitos os algoritmos que calculam a contribuição especular na formação de uma cena;
• Dentre os principais estão:
• O algoritmo de Phong que é baseado em um modelo de fonte de luz Pontual;
• Cook-Torrance, que considera a energia incidente sobre o objeto;
![Page 32: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/32.jpg)
Iluminação de Objetos 3DAlgoritmo de Phong
• Apontado por muitos como o mais utilizado para cálculo de luz especular;
• Esse modelo considera a relação especular como uma função do ângulo que a direção de reflexão faz com o observador;
• É dado em função da cor apenas da fonte de luz;
![Page 33: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/33.jpg)
Iluminação de Objetos 3DAlgoritmo de Phong
Iespecular = ks I0 (cosΦ)n
Onde Iespecular é a intensidade de luz refletida especularmente; I0 é a intensidade de luz inicial recebida, ks representa a refletividade de luz especular da superfície, Φ o ângulo entre o reflexo ideal e o vetor de visualização do observador e n é uma constante que determina a especularidade da superfície
Na prática cos Φ pode ser determinado pelo produto interno de v e r
Iespecular = ks I0 (v ● r)n
![Page 34: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/34.jpg)
Iluminação de Objetos 3DReflexão Especular
![Page 35: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/35.jpg)
Iluminação de Objetos 3DReflexão Especular (Modelo de Blinn)
• Blinn adota uma variação em relação ao método proposto por Phong;
• Segundo o modelo proposto por Blin, a relação de especularidade é dada em função do ângulo entre a fonte de luz e um ângulo que determina a bissetriz da direção da fonte de luz e o observador;
Iespecular = ks I0 (n ● h)n
vl
vlh
![Page 36: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/36.jpg)
Iluminação de Objetos 3DComparação
![Page 37: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/37.jpg)
Iluminação de Objetos 3DCook-Torrance
• Distingui-se do Modelo de Phong pelos seguintes fatores:• É baseado na taxa de energia incidente ao invés da intensidade;
• Os termos especulares são baseados no modelo físico micro facetado;
• As cores mudam de acordo com o brilho;
• É baseado nas leis de Fresnel e mede as características do material;
• Leis de Fresnel:• Luz incidente normal reflete cor da superfície;
• Luz incidente tangencial reflete cor da luz;
• Reflexão aumenta à medida que a incidência se torna tangencial;
![Page 38: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/38.jpg)
Iluminação de Objetos 3DCook-Torrance
• Componente especular
• F – termo de Fresnel
• D – termo de Roughness
• G – termo geométrico
))((
1
VNLN
FDGI s
![Page 39: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/39.jpg)
Iluminação de Objetos 3DCook-Torrance (Termo de Fresnel)
2
2
2
2
2
2
2
2
)1)((
)1)((1
)(
)(
2
1
)(tan
)(tan
)(sin
)(sin
2
1
cgc
cgc
cg
cgF
tr
tr
tr
tr
• Coeficientes:r – ângulo de reflexão
t – ângulo de transmissão (refração do material)
c = cos r = LH = VHg2 =2 + c2 – 1
• Indíce de refraxão complexo;• O Algoritmo Completo de Fresnel, implementado em Pascal
pode ser obtido em 3D Computer Graphics de Alan Watt (pp 120-122);
![Page 40: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/40.jpg)
Iluminação de Objetos 3DCook-Torrance (Rugosidade)
• Modelo estatístio de reflectância da luz
• Centrado na direção de reflexão R
• Modelo Blinn
• Função Beckmann and Spizzichino (1963)
• m também pode ser considerada, segundo Alan Watt (97) como sendo a média quadradica das inclinações das microfaces da superfície;
)/( 22 mceD
2
2tan
42 cos
1 mem
D
m
![Page 41: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/41.jpg)
Iluminação de Objetos 3DCook-Torrance (Termo Geométrico)
• Shadowing (sombreando)– Luz incidente não alcança o material
• Masking (mascarando)– Luz refletida não alcança o observador
• A Literatura indica utilizar o menor coeficienteGm = min (Gs, Gm)
)(
))((2
HV
VNHNGm
)(
))((2
HV
LNHNGm
![Page 42: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/42.jpg)
Iluminação de Objetos 3DComposição dos Métodos
• É muito comum na literatura encontrar as funções de reflexo já compostas;
• Por Exemplo:
• No caso do Método de Phong é comum encontrar a função já com as componentes de de reflexão ambiente e difusa incorporadas ao método;
![Page 43: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/43.jpg)
Iluminação de Objetos 3DVárias Fontes de Luz
![Page 44: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/44.jpg)
Iluminação de Objetos 3D
Exemplos práticos;
A partir de agora serão apresentados alguns exemplos de como os conceitos até aqui
apresentados são tratados por uma biblioteca gráfica amplamente utilizada, o
OpenGL
![Page 45: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/45.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
• Controle para:
• Adição e habilitação de fontes de luz na cena;
• Controle de componentes ambiente, difusa e especular;
• Posicionamento e fontes de luz;
• Controle de atenuação de fontes de luz;
• Especificação de vetores normais;
• Especificação de propriedades materiais dos objetos;
![Page 46: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/46.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
• Habilitando e desabilitando a Iluminação:• GLvoid glEnable(GL_LIGHTING);
• GLvoid glDisable(GL_LIGHTING);
• Fontes de luz tem propriedades como cor, posição e direção, que são especificadas através e funções;
• void glLight{if}(Glenum light, Glenum paname, TYPE param);
• void glLight{if}(Glenum light, Glenum paname, TYPE *param);
• Onde:• light pode ser GL_LIGHT0, GL_LIGHT1 até GL_LIGHT7;
• A propriedade sendo definida é dada por pname;
• Param indica o valor da propriedade pname (ou um vetor de valores)
![Page 47: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/47.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
![Page 48: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/48.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
![Page 49: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/49.jpg)
• Habilitando Múltiplas fontes de luz:• GLvoid glEnable(GL_LIGHTING <n>);
• GLvoid glDisable(GL_LIGHTING <n>);
• <n> é um número entre 0 e maxLights;
• maxLights do sistema pode ser obtida com:• glGetIntegerv(GL_MAX_LIGHTS, &maxLights)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
![Page 50: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/50.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
• Parâmetros GL_POSITION de glLightfv():• Coordenadas homogêneas (x,y,z,w);
• w=0, luz direcional, no infinito;
• w=1, luz localizada na cena;
• Valor default é (0.0, 0.0, 1.0, 0.0) (i.e, da direção do eixo z no infinito)
![Page 51: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/51.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
• Simulação de atenuação da fonte de luz de acordo com a distância da mesma em relação aos objetos:
• Constante• Não existe atenuação;
• Linear;• A intensidade diminui linearmente com a distância;
• Quadrática;• A intensidade diminui quadraticamente com a distância;
![Page 52: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/52.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
glLightfv(GL_LIGHT0, GL_Position, light_posicion);
glLightfv(GL_LIGHT0, GL_CONSTANT_ATENENUATION, 2.0);
glLightfv(GL_LIGHT0, GL_LINEAR_ATENENUATION, 0.0);
glLightfv(GL_LIGHT0, GL_QUADRATIC_ATENENUATION, 0.0);
Pode-se combinar os três tipos de atenuação com valores diferentes de zero para cada um dos atributos;
![Page 53: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/53.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
•Reflexão Difusa e Ambiente;
•Reflexão Especular;
•Emissão;
•Alterações nos materiais;
![Page 54: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/54.jpg)
Iluminação de Objetos 3DExemplos Práticos (OpenGL)
•OpenGL permite controlar:• Reflexão difusa;
• Reflexão ambiente;
• Reflexão especular ou brilhos (highlights);
• Brilho do objeto;
• Emissividade do objeto (luz emitida por ele);
![Page 55: Computação Gráfica Modelos de Iluminação Mauricio Cunha Escarpinati escarpinati@gmail.com Computação Gráfica](https://reader035.vdocuments.site/reader035/viewer/2022062219/552fc0f9497959413d8b7823/html5/thumbnails/55.jpg)
Iluminação de Objetos 3DAvaliação
•Os alunos deverão desenvolver os seguintes temas com trabalho sobre o tema:
• Pesquisar se os outros algoritmos estudados, como o caso do método de Blinn e Cook-Torrance são disponibilizados em bibliotecas gráficas, como o próprio OpenGL, DirectX, VTK, etc.;
• Implementar um modelo de iluminação simples que envolva componentes de reflexão ambiente, difusa e especular a partir de uma fonte de luz direcional;