Universidade Católica de Pelotas Centro Politécnico Modelos de Iluminação por Flávia Santos Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi
Universidade Católica de Pelotas Centro Politécnico Modelos de Iluminação por Flávia Santos Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi
Sumário Iluminação Tipos de Emissores Reflexões Reflexão Ambiente Reflexão Difusa Reflexão Especular Refração Transparência (com e sem refração) Sombreamento e Sombra O Modelo de Phong Radiosidade Ray-Tracing Técnicas de Iluminação Evolução Iluminação Global Apresentação Prática (exemplos no POV e OpenGL) Referências
Iluminação (1) A Computação Gráfica simula como os objetos refletem a luz em tempo real, ou seja, é uma aproximação empírica da iluminação real; A manipulação da luz assume um papel fundamental nos aspectos realísticos da apresentação; A maioria dos objetos não emite luz própria, pelo contrário, reflete a radiação neles incidente em diferentes comprimentos de onda. Descreve a interação dos raios de luz com uma superfície, considerando as propriedades da superfície e a natureza da fonte de luz incidente. James Clark Maxwell (físico) mostrou que a luz é uma forma de radiação eletromagnética que desloca-se em linha reta, transportada por uma onda que determina suas características físicas pelo comprimento de onda e freqüência.
Iluminação (2) Modelos de Iluminação são técnicas utilizadas para calcular a intensidade da cor de um ponto a ser exibido. Também chamados Modelos de Reflexão, utilizam: Cor da fonte de luz; Posição da fonte de luz; Posição na cena 3D (do ponto a ser exibido); Posição do observador virtual; Posição do Observador. para processar a intensidade da cor de cada ponto a ser exibido.
Iluminação (3) Todo objeto numa cena é potencialmente uma fonte de Luz. Luz: emitida/refletida Emissores de luz: lâmpadas, fogo, vela, sol, estrelas Refletores de luz: objetos coloridos renderizados Classificação: Local e Global
Iluminação Local Considera apenas a contribuição de fontes de luz; Efeito final computado pela superposição do efeito de todas as fontes; Interação simples entre luz e objeto( Ray Casting).
Iluminação Global (1) 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. Considera o balanço de energia luminosa em todo o ambiente; Interação múltipla entre luz e objetos (Ray-Tracing);
Iluminação Global (2)
Iluminação Global (3) Na iluminação de cada ponto é incluída, além da componente direta, a luz refletida ou transmitida por outros objetos que não as fontes de luz. Observador Direta Indireta
Iluminação Global (4)
Emissores de Luz Todo objeto em um modelo digital é potencialmente uma fonte de luz, podendo ser emitida ou refletida pelo objeto. A escolha do tipo a ser usado para representar uma fonte ou um emissor de luz depende diretamente do ambiente da cena. Cenas Externas utilizam uma fonte natural com principal fonte de iluminação. Cenas Internas utilizam diversas luzes artificiais que podem ter ou não mesma intensidade. Classificação: Natural, Ambiente ou Artificial
Tipos de Emissores (1) Emissor Natural Os emissores naturais tentam simular as principais fontes de luz da natureza (sol, estrelas,lua, etc.).
Tipos de Emissores (2) Luz Ambiente Não tem uma direção identificada, determina o nível de iluminação das superfícies no ambiente.
Tipos de Emissores (3) Luz Pontual Uma fonte de luz pontual é aquela em que raios emanam uniformemente em todas as direções a partir de um único ponto.
Exemplo Luz Pontual - POV
Tipos de Emissores (4) Emissores Simulam de Luz Artificiais as lâmpadas convencionais.
Emissores de Luz Artificial (1) Luzes Fotométricas Fonte de energia pode ser direcionada para um ponto representado nas formas: pontual (uma lâmpada), linear (lâmpadas fluorescentes) e áreas iluminadas (painéis luminosos).
Emissores de Luz Artificial (2) Luz Omni É uma luz que irradia seus raios em todas as direções de uma origem única podendo criar sombras e projeções.
Emissores de Luz Artificial (3) Luz Direcional (Direct Light) Raios de luzes direcionais paralelos iluminam em uma direção única.
Emissores de Luz Artificial (4) Luz Refletora (Spot Light) Lança um raio de luz focado levemente como uma lanterna ou um farol. Tipo de emissor que pode ser mapeado para produzir efeitos de luz como no filme Batman.
Reflexões Em Computação Gráfica, a manipulação da luz assume um papel fundamental nos aspectos realísticos da apresentação. A maioria dos objetos não emite luz própria, pelo contrário, refletem a radiação neles incidente em diferentes comprimentos de onda. A reflexão se deve à interação molecular entre a radiação incidente e o material que compõe a superfície dos objetos.
Reflexões Modelo de Reflexão Descreve a interação dos raios de luz com uma superfície, considerando as propriedades da superfície e a natureza da fonte de luz incidente. Principal Objetivo Exibir os objetos tridimensionais na tela bidimensional de maneira que os mesmos se aproximem da realidade. Modelos de Reflexão: Ambiente, Difusa e Especular.
Reflexão Ambiente A reflexão ou iluminação ambiente é um artifício introduzido no equacionamento matemático da iluminação que tenta simular as reflexões mútuas entre os objetos. A formulação deste efeito faz com que os objetos adquiram uma luz própria, isto é, passem a emitir luz. Contudo, esta "luz emitida" não possui a propriedade de iluminar outros objetos. Superfícies que não recebem raios de luz diretos da fonte são visíveis devido à luz ambiente, caso contrário seriam exibidas com a cor preta.
Exemplo de Reflexão Ambiente
Reflexão Difusa Iluminação recebida por uma superfície e que é refletida uniformemente em todas as direções; Característica de materiais foscos; Esse tipo de reflexão é também chamada de reflexão lambertiana; A luminosidade aparente da superfície não depende do observador mas apenas do cosseno do ângulo de incidência da luz.
Forma da Reflexão Difusa
Exemplo Reflexão Difusa (1) Objeto
Exemplo Reflexão Difusa (2) Ambiente
Reflexão Especular Este tipo de reflexão é o que ocorre em superfície polidas onde a luz refletida fica mais concentrada em determinada local do objeto (pontos de brilho), sendo que quanto mais polida for a superfície mais concentrada estará a luz refletida. A luz refletida de uma superfície reflexiva deixa a superfície com o mesmo ângulo que o raio de luz incidente forma com o vetor normal à superfície. Por meio da Reflexão Especular é possível fazer com que objetos do tipo espelho apresentem em sua superfície a imagem de outros objetos do universo.
Forma da Reflexão Especular
Exemplo Reflexão Especular (1) Objeto
Exemplo Reflexão Especular (2) Ambiente
Comparando os Modelos (1) Ambiente Difusa Especular Phong
Comparando os Modelos (2)
Modelo de Phong O modelo de iluminação de Phong [PHO75] é o modelo de iluminação provavelmente mais utilizado em computação gráfica hoje em dia. No modelo de Phong, a luz em qualquer ponto é composta por três componentes: luz difusa, luz especular e luz ambiente. E s s a s t r ê s componentes são aditivas e determinam o aspecto final da iluminação e da cor de um determinado ponto na cena ou da superfície de um determinado polígono plano contido nela.
Exemplo Modelo Phong (1) Ambiente, Difusa e Especular renderizados no mesmo objeto.
Exemplo Modelo Phong (2) Objeto Cena
Refração O efeito de Refração ocorre na incidência de luz em uma superfície, onde raios de luz são Refletidos e Refratados.
Absorção x Reflexão x Refração Quando a luz incide em uma superfície, ela pode ser absorvida, refletida ou transmitida(refratada). Parte da luz incidente em uma superfície é absorvida e convertida em calor. O restante é refletida ou transmitida. É a luz refletida ou transmitida que faz um objeto visível. Se toda luz é absorvida o objeto é invisível. Absorção, Reflexão e Refração são os fenômenos básicos que ocorrem na iluminação dos objetos (nunca isoladamente). Raramente um objeto apresenta Absorção total, ou mesmo uma Reflexão Total. A refração só ocorre em objetos translúcidos, porém mesmo nestes quase sempre há algum grau de absorção e reflexão
Exemplo (Absorção x Reflexão x Refração) Absorção: A luz é capturada e transformada em outra forma de energia (calor). Reflexão: A luz é rebatida. Refração: visualizase a distorção porque a luz que atingiu o fundo, no exemplo a parede, foi refletida e refratada pela esfera de vidro.
Transparência (1) Com Refração: Modelo considera a influência da Refração, e os objetos localizados atrás do objeto atingido pela luz não se encontram na sua verdadeira posição, devido as diferenças entre os meios por onde a luz passa.
Transparência (2) Sem Refração: Modelo que não considera a influência da Refração. O deslocamento aparente dos objetos localizados atrás da superfície não existem. Entre as formas deste modelo estão a Interpolada(considera a opacidade dos objetos) e a Filtrada(considera a cor transparente do objeto).
Sombreamento e Sombras Sombreamento: define o modo como os objetos irão refletir os raios luminosos. Vistem vários algoritmos para criar tal efeito os mais conhecidos são: Constante, Gouraud e Phong. Sombra: A sombra de um objeto é a projeção de sua face visível, diante de uma fonte de luz em um plano.
Radiosidade A radiosidade consiste na troca de luminosidade ocorrida entre os objetos da cena, considera a reflexão do raio de luz nos objetos.
Técnicas de Iluminação Luz Principal (Key Light): Luz é do tipo direcional, posicionada de 15 à 45 graus em relação à câmera. Resultada uma imagem plana e sem vida com sombras marcadas, porque não há uma luz ambiente natural para iluminar as áreas sombreadas. Luz de Preenchimento(FiIl Light): Suaviza e estende a iluminação provida pela luz principal tornando o objeto alvo mais visível, fornecendo a noção de profundidade e a sensação de realidade à cena. Luz de Recuo (Back Light): Luz de fundo ou borda e tem como objetivo auxiliar a visualização do objeto alvo separando-o do fundo. É posicionada atrás do objeto e oposta à câmera.
Exemplo Técnicas de Iluminação KEY LIGHT ONLY BACK LIGHT ONLY FILL LIGHT ONLY KEY + FILL KEY + FILL + BACK
Ray-Tracing Alguns objetivos: A técnica Ray-Tracing simula a propagação da luz no ambiente, avaliando interação objeto/luz considerando suas superfícies; Limitar a grande quantidade de feixes de luz necessária para compor uma cena com razoável grau de realismo; Concentra seu esforço computacional no estudo dos raios de luz que efetivamente alcançam o observador através da malha de pixels na tela.
Iluminação Global(1) Evolução Histórica Ray-Tracing - Turner Whitted, Agosto 1979 Baseado em métodos já usados na Física Óptica, este algoritmo engloba de uma forma elegante sombras, reflexões e transmissões especulares.
Iluminação Global (2) Evolução Histórica Radiosidade - Goral, Torrance and Greenberg, 1984 Simula as interreflexões difusas, assumindo que todos os materiais são refletores difusos perfeitos.
Iluminação Global (3) Evolução Histórica Ray-Tracing Distribuído - Cook, Porter and Torrance, 1984 Suaviza os resultados do Ray Tracing, permitindo simular reflexões glossy(reflexões sem brilho), sombras suaves, translucência, motion blur e profundidade de campo. Ray tracing clássico Reflexões glossy
Iluminação Global (4) Evolução Histórica Ray-Tracing Distribuído - Cook, Porter and Torrance, 1984 Ray tracing clássico Sombras suaves
Iluminação Global (5) Evolução Histórica Ray-Tracing Distribuído - Cook, Porter and Torrance, 1984 Ray tracing clássico Translucência
Iluminação Global (6) Evolução Histórica Ray-Tracing Distribuído - Cook, Porter and Torrance, 1984 Motion blur
Iluminação Global (7) Evolução Histórica Ray-Tracing Distribuído - Cook, Porter and Torrance, 1984
Iluminação Global (8) Evolução Histórica Path-Tracing - Kajiya, 1986 Aproximação estocástica à solução da equação de rendering, que é capaz de seguir todos os caminhos da luz: fenômenos especulares, difusos e cáusticas.
Iluminação Global (9) Evolução Histórica Photon Mapping (mapeamento volume de luz no raio de visão) Iluminação Global - Henrik Wann Jensen, 1996
Iluminação Global (10) Evolução Histórica Photon Mapping Cáusticas (ponto altamente luminoso ) Henrik Wann Jensen, 1996
Iluminação Global (11) Evolução Histórica Photon Mapping Meios Participativos interação luz com partículas suspensas no ar: fumaça, gelo seco, poeira Henrik Wann Jensen, 1996
Iluminação Global (12) Evolução Histórica Dispersão da Luz (multi-reflexões nas superfícies contidas na cena ) Henrik Wann Jensen, 2001
Iluminação Global (13) Evolução Histórica Dispersão da Luz Henrik Wann Jensen, 2001
Exemplos Práticos (1) OpenGL não é uma linguagem de programação, é uma poderosa e sofisticada API (Application Programming Interface) para criação de aplicações gráficas 2D e 3D. Seu funcionamento é semelhante ao de uma biblioteca C, uma vez que fornece uma série de funcionalidades. Normalmente se diz que um programa é baseado em OpenGL ou é uma aplicação OpenGL, o que significa que ele é escrito em alguma linguagem de programação que faz chamadas a uma ou mais bibliotecas OpenGL.
Exemplos Práticos (2) O POV-Ray, é um programa de ray tracing disponível para variadas plataformas de computação. Foi originalmente baseado no DKBTrace, escrito por David Kirk Buck e Aaron A. Collins. O POVRay é livre, com seu código-fonte disponível. Cenas em POV-Ray são descritas em uma linguagem de definição de dados denominada scene description language. Você simplesmente vai digitando comandos de definição de objetos e POV-Ray os interpreta e constrói a cena. Seu funcionamento, como OpenGL é semelhante ao de uma biblioteca C, uma vez que fornece uma série de funcionalidades. http://www.povray.org/download/
Referências [1] E. Azevedo, A. Conci, Computação Gráfica: Teoria e Prática, Rio de Janeiro: Elsevier, pp. 272-314, 2003. [2] H.J. Anibal, Computação Gráfica, Rio de Janeiro: LTC, pp. 96-156, 2006. http://users.directnet.com.br/val/tutor/tutor.html#capit2 http://www.dcc.ufla.br/~bruno/aulas/cg/monte-mor/55.htm http://www.inf.pucrs.br/~manssour/cg/p-iluminacao/index.html http://www.ilasolomon.com/tutorials/light_adv.htm http://www.cs.virginia.edu/~jz8p/computer%2520graphics/ http://www.inf.ufrgs.br/~carla/opengl/01-introducao.pdf http://www.inf.ufsc.br/~awangenh/cg/raytracing/iluminacao.html http://www.stormforcepictures.com http://www.povray.org/ http://www.inf.pucrs.br/~manssour/cg/pratica9/ http://www.allanbrito.com/2007/09/18/tutorial-de-iluminacao-para-computacao-graf