Cap.6 Iluminação Engenharia Informática (5385) - 2º ano, 2º semestre 1

Documentos relacionados
Motivação. Iluminação. Modelo de Iluminação = aproximação da iluminação do mundo real. Sensação da 3-dimensionalidade, percepção da profundidade

Iluminação. André Tavares da Silva. Capítulo 14 de Foley Capítulo 7 de Azevedo e Conci

Iluminação. Aula 6. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa

Computação Gráfica - 13

Objetos definidos no seu próprio sistema de coordenadas

Iluminação. Módulo 10. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 186. Instituto Superior de Engenharia do Porto

Iluminação em OpenGL. André Tavares da Silva.

Computação Gráfica - 07

Computação Gráfica. Iluminação

Computação Gráfica. Iluminação

Iluminação. Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho

Fundamentos de Computação Gráfica. Iluminação

Iluminação. Márcio Bueno Fonte: Material do Prof. Claudio Esperança e do Prof. Paulo Roma Cavalcanti

Computação Gráfica - 13

Computação Gráfica Conf. 6: Iluminação e materiais. ISUTIC Eng. Alexander Rodríguez Bonet

Iluminação (lighting) e Sombreamento (shading)

Introdução à Computação Gráfica Iluminação. Claudio Esperança Paulo Roma Cavalcanti

Iluminação e Sombreamento

Modelos de Iluminação Métodos de surface-rendering. Beatriz Sousa Santos, J. Madeira

Modelos de Iluminação e Reflexão

Iluminando o Cenário

Visualização por Computador: Teoria, Prática e Aplicações

Reflexão e Refracção (7)ë

Iluminação e Sombreamento

Computação Gráfica OpenGL 05 3D

ÓPTICA GEOMÉTRICA. A luz é uma forma de energia que se propaga a uma altíssima velocidade: c= Km/s

Óptica Geométrica 9º EF

Modelos de Iluminação Métodos de surface-rendering

Cap. 7 Coloração (Shading) e Iluminação Global

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

GDC I AULA TEÓRICA 06

Considerando as cores como luz, a cor branca resulta da sobreposição de todas as cores, enquanto o preto é a ausência de luz. Uma luz branca pode ser

1º Teste Computação Gráfica

Modelos de Iluminação Locais

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Introdução ao Processamento e Síntese de imagens Rendering 2016

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Rendering. Rendering. Processo Físico de Geração de uma Imagem. Síntese de Imagens 3D

CG 2015/2016 Segundo Teste LEIC Alameda/Taguspark. Segundo Teste. 18 de Novembro de 2015

Coloração (Shading)e Iluminação global

Estática do Ponto Material e do Corpo Rígido

Rendering. Modelos de Iluminação Rendering de Modelos Poligonais Métodos de Tonalização

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010

Ondas Eletromagnéticas. Cap. 33

Rendering. Processo Físico de Geração de uma Imagem. Rendering. Síntese de Imagens 3D. Foto-realismo em CG

Agrupamento de Escolas da Senhora da Hora

1 - Introdução: Princípios da ótica geométrica

Tópicos de Física Moderna Engenharia Informática

Iluminaçao. Os modelos de Iluminação são técnicas usadas para calcular a intensidade da cor de um ponto a ser exibido.

8. Síntese de Imagens: Cálculo de Cor

MÓDULO 2 ÓPTICA E ONDAS Ronaldo Filho e Rhafael Roger

2º Exame. Computação Gráfica

Iluminação e Sombreamento

Como Fazer um Programa, simples, em OpenGL para Trabalhar com Iluminação (exemplo do site da Isabel Mansour)

Atividade experimental - Tema: Luz

Iluminação e sombreamento

Princípios de Sensoriamento Remoto. Disciplina: Sensoriamento Remoto Prof. MSc. Raoni W. D. Bosquilia

Escola Básica e Secundária Gonçalves Zarco. Física e Química A, 10º ano Ano lectivo 2006 / Nome: n.º aluno: Turma:

BALANÇO ENERGÉTICO. Energia do Sol para a Terra º FQA Marília Peres

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark. 2º Exame 15 de Julho de 2010

Textura e Iluminação

1ª LISTA DE EXERCÍCIOS SOBRE ÓPTICA Professor Alexandre Miranda Ferreira

Aula 1 Óptica geométrica, propagação retilínea e refração da luz

NBR 10126/87 CORTE TOTAL LONGITUDINAL E TRANSVERSAL

Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark

Computação Gráfica II

Intensidade determina qual o brilho que uma luz provoca na superfície de um objecto (Multiplier).

Ondas. Ondas termo genérico com relação ao meio marinho, vários mecanismos de formação.

CÁLCULOS DE ILUMINAÇÃO E SOMBREAMENTO

Modelo gráfico do VTK: fundamentos e aplicações

FÍSICA - Tomás ESPELHOS PLANOS ÓPTICA

Modelo gráfico do VTK: fundamentos e aplicações

Nº Nome: Relação de aspecto é o quociente entre a altura e a largura de uma janela ou um viewport.

Rendering. Processo Físico de Geração de uma Imagem. Rendering

Modelos de Iluminação e Reflexão

Ângulo limite e reflexão total

Escalas ESCALAS COTAGEM

Ferramentas para edição

Astrofísica Geral. Tema 05: Noções de Óptica

Problemas de Mecânica e Ondas MOAer 2015 Série 9

Lei de Gauss. 2.1 Fluxo Elétrico. O fluxo Φ E de um campo vetorial E constante perpendicular Φ E = EA (2.1)

Pipeline Gráfico Cluter & Durand, MIT

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A.

O que é? Como funciona?

Iluminação e FotoRealismo: Fundamentos

Efeito fotoeléctrico Determinação da constante de Planck

Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1.

Exame de Época Especial Computação Gráfica

Computação Gráfica. Modelo de sombreamento Determina como o modelo de iluminação será aplicado e quais seus argumentos

A. Equações não lineares

Trabalho 4 - Traçado de linhas equipotenciais e linhas de força.

1o) constância da inclinação do eixo de rotação da Terra. 2o) movimento de translação da Terra ao redor do Sol.

IntMu.Lab5. Importe os ficheiros disponibilizados em

Graça Ventura Adaptado por Marília Peres

Para cada partícula num pequeno intervalo de tempo t a percorre um arco s i dado por. s i = v i t

Ray-Tracing. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 13 Apontamentos CG

FÍSICA RADIOLOGICA. Prof. Emerson Siraqui

Transcrição:

Cap.6 Iluminação Engenharia Informática (5385) - 2º ano, 2º semestre 1

Motivação Modelo de Iluminação = aproximação da iluminação do mundo real wireframe Sensação da 3-dimensionalidade, percepção da profundidade Na maior parte das aplicações, usa-se o modelo de iluminação de Phong porque é temporalmente mais eficiente e porque permite uma representação bastante aproximada do mundo real. sem iluminação iluminação directa 2

Modelos de iluminação independentes da luz Coloração em Profundidade (Depth Shading) Cor ou intensidade determinada somente pela profundidade" do polígono. Cores ou intensidades mais escuras em pontos de maior profundidade no objecto: por exemplo, na modelação de superfícies terrestres. Evita os cálculos complexos dos modelos dependentes da luz. Faz uma simulação realística. Percepção da Profundidade (Depth Cueing) Reduz a intensidade do pixel quando a distância ao observador aumenta. Simula a redução em claridade quando a distância ao observador aumenta. A imagem desvanece com a distância. Frequentemente usada em imagiologia médica. 3

Modelos de iluminação dependentes da luz O que um objecto parece depende de: Propriedades da fonte de luz, tais como: cor, distância entre a fonte de luz e o objecto, direcção definida pela fonte de luz e pelo objecto, intensidade da fonte de luz Características da superfície do objecto, tais como: cor e propriedades de reflexão Localização do observador. A luz que incide na superfície dum objecto pode ser: Reflectida (reflexão difusa & reflexão especular) Absorvida Transmitida (translucente ou transparente) Combinação das três anteriores 4

Modelos de iluminação baseados na luz Iluminação Directa ou Local Interacção simples entre luz & objectos Processo em tempo-real suportado pela OpenGL Exemplo: modelo de iluminação de Phong Iluminação Indirecta ou Global Interacção múltipla entre luz & objectos: reflexões entre objectos, sombras e refracções Não é em tempo-real (ainda) Exemplos: raytracing, radiosidade, photon mapping From: http://jedi.ks.uiuc.edu/~johns/raytracer/raygallery/stills.html 5

Sobrevisão: modelos baseados na luz Iluminação Directa ou Local Tipos de Luz Fontes de Luz (emissão) Materiais da superfície dos objectos (reflexão) Iluminação Indirecta ou Global Sombras Refracções Reflexões entre objectos Direct Illumination 6

Tipos de Luz Luz Ambiente Vem de todas as direcções; quando atinge a superfície, espalha-se igualmente em todas as direcções. Consequência do espalhamento da luz: não depende do ponto de vista (do observador). Luz Difusa Vem de uma direcção; quando atinge a superfície, espalha-se igualmente em todas as direcções. Consequência do espalhamento da luz: não depende do ponto de vista (do observador). Luz Especular Vem de uma direcção; tende a reflectir na superfície numa direcção preferencial. Consequência do espalhamento da luz: depende do ponto de vista (do observador). 7

Tipos de Luz (cont.) Luz Ambiente Pode ser usada para dar a sensação da cor principal do ambiente. Contribuições: iluminação em contra-luz tem uma grande percentagem de luz ambiente um foco de luz fora-de-portas tem uma percentagem muito pequena de luz ambiente Luz Difusa É o tipo de luz que mais se aproxima da cor da luz. Contribuições: qualquer luz que venha duma posição ou direcção particular Luz Especular É a luz que mais se aproxima da luz unidireccional. Contribuições: um feixe laser bem-colimado que incida num espelho de elevada qualidade produz quase 100 porcento de reflexão especular um metal brilhante tem uma elevada componente de luz especular o giz não reflecte quase nenhuma luz especular 8

Fontes de luz e material Fontes de Luz Tipos: ambiente, posicional, direccional, cónica Cor A cor de luz emitida é dada pelas quantidades de luz vermelha, verde e azul. Número Cada fonte de luz pode ser ligada ou desligada. Tipos de luz emitida: ambiente, difusa, especular Material da Superfície Especifica como a luz é reflectida (e absorvida) A cor do material é dada pela percentagem das componentes vermelha, verde e azul que são reflectidas em várias direcções. Superfícies diferentes têm propriedades diferentes; algumas são brilhantes,pelo que reflectem preferencialmente a luz em certas direcções, ao passo que outras espalham igualmente a luz em todas as direcções. A maior parte das superfícies situam-se entre os dois extremos anteriores. Tipo de luz emitida: emitida 9 Tipos de luz reflectida: ambiente, difusa, especular

Modelação de Fontes de Luz Modelo da Fonte de Luz: descreve a intensidade de energia, que sai da fonte de luz e que chega à posição D P(x, y, z) I L (P, D,λ) vinda da direcção (vector normalizado) com comprimento de onda λ D 10

Tipos de Fontes de Luz São os seguintes: Fonte de luz ambiente Fonte de luz pontual Fonte de luz direccional Fonte de luz cónica (spotlight) LÂMPADA SOL HOLOFOTE fonte de luz pontual fonte de luz direccional fonte de luz cónica 11

Fonte de Luz Ambiente Um objecto que não esteja directamente iluminado é ainda visível por causa da luz reflectida a partir doutras superfícies Modelada por uma simples fonte de luz ambiente Em vez de calcular as reflexões nas superfícies dos objectos, especifica-se uma luz ambiente constante para todas as superfícies Definida somente pelas intensidades de luz ambiente RGB Intensidade da luz ambiente I L que chega a um ponto P(x,y,z): I(P, I L ) = I L 12

Luz Ambiente Global em OpenGL Não vem de nenhuma fonte de luz em particular. Permite-nos ver objectos numa cena mesmo que nela não haja quaisquer fontes de luz. A sua intensidade RGBA é especificada pelo parâmetro GL_LIGHT_MODEL_AMBIENT como se segue: Exemplo: (Luz Ambiente Global) RGBA // sets global ambient light GLfloat lmodel_ambient[]={0.2,0.2,0.2,1.0}; gllightmodelfv(gl_light_model_ambient, lmodel_ambient); 13

Fonte de Luz Direccional Modela uma fonte de luz pontual no infinito (e.g. sol) Definida pelas intensidades de luz emitida RGB de todos os tipos, e pela direcção D A direcção é importante para calcular a luz reflectida Intensidade da luz I L que chega ao ponto P(x,y,z): I(P, D, I L ) = I L D P nenhuma atenuação com a distância 14

Fonte de Luz Pontual Luz emitida a partir dum ponto duma forma radial em todas as direcções (fonte omni-direccional) Definida pelas intensidades de luz (RGB) emitida de todos os tipos, pela posição L(x,y,z), e pelos factores (k c, k l, k q ) de atenuação com a distância d a P(x,y,z) Intensidade da luz pontual I L que chega a P(x,y,z): I(P, L, k c,k l,k q, I L ) = I L k c + k 1 d + k q d 2 L lâmpada" d (x,y,z)" P 15

Fonte de Luz Cónica Luz emitida num cone (e.g. candeeiro Luxo Jr.) Definida pelas intensidades de luz (RGB) emitida de todos os tipos, pela posição L, direcção D, expoente de recorte do holofote pelos factores de atenuação constante, linear e quadrática (k c, k l, k q ) Intensidade da luz de holofote I L que chega ao ponto P (x,y,z): L L D d θ P I(P, L,k c, k 1,k q, I L ) = I L D L ( ) k c + k 1 d + k q d 2 holofote" (spot light)" 16

Direcção e Posição das Fontes de Luz em OpenGL Fonte de luz direccional. Está localizada no infinito relativamente à cena. Fonte de luz pontual ou posicional. A sua distância à cena é finita. Exemplo: (Fonte de Luz Direccional) // sets GL_LIGHT0 with direction (x=1.0,y=1.0,z=1.0) at an infinite position (w=0.0) in homogeneous coordinates Glfloat light_position[]={1.0,1.0,1.0,0.0}; gllightfv(gl_light0, GL_POSITION, light_position); Exemplo: (Fonte de Luz Pontual ou Posicional) // sets GL_LIGHT0 at the position (x=1.0,y=1.0,z=1.0) that is finite (w 0.0) in homogeneous coordinates Glfloat light_position[]={1.0,1.0,1.0,1.0}; gllightfv(gl_light0, GL_POSITION, light_position); 17

Direcção e Posição de Fontes de Luz em OpenGL (cont.) À semelhança da fonte de luz pontual, uma fonte luz de holofote (spot light) é também uma fonte de luz posicional. Fonte de luz pontual. Por defeito, a propriedade spotlight está inactiva porque o parâmetro GL_SPOT_CUTOFF é 180.0 graus. Este valor significa que a luz é emitida em todas as direcções (o ângulo no ápice do cone é 360 graus, ou seja, não é um cone afinal de contas). Fonte de luz de holofote. O valor do ângulo de recorte GL_SPOT_CUTOFF do holofote está limitado ao intervalo [0.0,90.0]. Exemplo: (Fonte de Luz do Holofote) // sets GL_LIGHT0 as a spotlight with a cutoff angle of 30 degrees gllight(gl_light0, GL_SPOT_CUTOFF, 30.0); // sets spotlight s direction or the light cone axis Glfloat spot_direction[]={-1.0,-1.0,0.0}; gllightfv(gl_light0, GL_SPOT_DIRECTION, spot_direction); 18

Cor da Luz Emitida por uma Fonte de Luz em OpenGL A OpenGL permite associar 3 parâmetros de cor a qualquer fonte de luz particular : GL_AMBIENT. É a intensidade RGBA da luz ambiente que uma fonte de luz particular adiciona à cena. Valores RGBA por omissão: (0.0,0.0,0.0,1.0) nenhuma luz ambiente GL_DIFFUSE. É a intensidade RGBA da luz difusa que uma fonte de luz particular adiciona à cena. Valores RGBA por omissão: (1.0,1.0,1.0,1.0) para a LIGHT0 ( brilhante, luz difusa branca) e (0.0,0.0,0.0,0.0) para qualquer outra fonte de luz. GL_SPECULAR. É a intensidade RGBA da luz especular que uma fonte de luz particular adiciona à cena. Valores RGBA por omissão: (1.0,1.0,1.0,1.0) para a LIGHT0 e (0.0,0.0,0.0,0.0) para qualquer outra fonte de luz. 19

Cor da Luz Emitida por uma Fonte de Luz em OpenGL (cont.) Exemplo: (Cor da Luz Ambiente, Difusa e Especular) // sets the ambient component of GL_LIGHT0 Glfloat light_ambient[]={0.0,0.0,1.0,1.0}; // blue color Glfloat light_diffuse[]={1.0,1.0,1.0,1.0}; // white color Glfloat light_specular[]={1.0,1.0,1.0,1.0}; // white color gllightfv(gl_light0, GL_AMBIENT, light_ambient); gllightfv(gl_light0, GL_DIFFUSE, light_diffuse); gllightfv(gl_light0, GL_SPECULAR, light_specular); 20

Componentes de Luz A imagem ao lado mostra os efeitos da luz ambiente (canto superior esquerdo), da luz difusa (canto superior direito), luz especular (canto inferior esquerdo), e todas as 3 componentes combinadas (canto inferior direito). luz ambiente luz difusa Direct Illumination luz especular 21

Sobrevisão: modelos baseados na luz Iluminação Directa ou Local Tipos de Luz Fontes de Luz (emissão) Materiais da superfície dos objectos (reflexão) Iluminação Indirecta ou Global Sombras Refracções Reflexões entre objectos Direct Illumination 22

Modelo da Reflexão da Luz na Superfície dum Objecto R(θ,φ,γ,ψ,λ) Descreve a quantidade de energia incidente na superfície que vem da direcção (θ,φ) e que reflecte segundo a direcção (γ,ψ) com o comprimento de onda λ 23

Modelo de Reflexão Modelo Analítico Simplificado: Reflexão difusa + Reflexão especular + Emissão + Ambiente Baseado no modelo proposto por Phong 24

Reflexão Difusa Um reflector difuso ideal, a nível microscópico, é uma superfície muito rugosa (exemplo do mundo real: giz) Devido a estas variações microscópicas, um raio de luz incidente é igualmente reflectido em todas as direcções acima do hemisfério definido pela superfície. Ou seja, assume-se que a superfície reflecte igualmente em todas as direcções. superfície P 25

Reflexão Difusa Como é que a luz é reflectida? Depende do ângulo θ da luz incidente. Quanto maior é o valor de θ, menor é a quantidade de luz reflectida. surface A quantidade de luz reflectida depende da posição da fonte de luz e da posição do objecto, mas é independente da posição do observador. P θ! surface P surface P 26

Reflexão Difusa Modelo Lambertiano Lei dos Cosenos de Lambert (producto interno) I D = K D I cos θ N. L com cosθ = N L = N. L, em que N e L são vectores unitários A intensidade de luz difusa I D reflectida pela superfície no ponto P (x,y,z) é proporcional ao coseno do ângulo entre o vector na L direcção da fonte de luz e o vector normal N à superfície em P(x,y,z). I D = intensidade de luz difusa reflectida I = intensidade da fonte de luz em P(x,y,z) K D = coeficiente de reflexão da superfície (0<= K D <=1) superfície ( ) I θ = entre 0 e 90 graus I D = K D N L N P θ! L 27

Reflexão Especular Reflexão é mais intensa junto do ângulo de reflexão Exemplos: espelhos, metais Visível quando o ângulo θ da luz incidente é igual ao ângulo de luz reflectida em direcção ao observador. R surface N θ! P θ! L Quanta luz é vista? Depende do ângulo θ da luz incidente e do ângulo α ao observador Se o reflector não é perfeito, a intensidade da luz reflectida diminui rapidamente quando o ângulo α ao observador aumenta relativamente ao ângulo de incidência. observador R α! surface N θ! P θ! L 28

Reflexão Especular Modelo de Phong (cos α) n I S = K S I (cos α ) n com cosα = V. R V R = V. R, e V e R vectores unitários n = expoente de reflexão especular (reflector perfeito n= ) I S = intensidade de luz especular reflectida I = intensidade de luz em P(x,y,z) K S = coeficiente de luz especular reflectida (0<= K S <=1) θ = entre 0 e 90 graus observador V R α! superfície N θ! P θ! L I S = K S V R ( ) n I 29

Luz emissiva gerada por uma fonte de luz superficial É produzida por uma fonte de luz superficial, não por uma fonte de luz pontual. Representa a luz emitida directamente por um polígono ou disco dum objecto. Isto é preciso porque alguns objectos do mundo-real, nomeadamente lâmpadas, emitem luz. Assim, se uma lâmpada faz parte duma cena, temos de especificar não só a sua fonte de luz posicional, mas também que o material da sua superfície emite luz. material emissivo (0,0,0,0) I EL = I E 30

Luz emissiva duma fonte de luz superficial em OpenGL Pela especificação duma cor RGBA para GL_EMISSION, podemos fazer com que um objecto pareça emitir luz daquela cor. Dado que os objectos do mundo-real (excepto luzes) não emitem luz, podemos usar o parâmetro GL_EMISSION para simular o funcionamento de lâmpadas e outras fontes de luz de uma cena.. Contudo, uma fonte de luz superficial não funciona realmente como uma fonte de luz. Para conseguir tal efeito, é necessário também criar uma fonte de luz e posicioná-la na mesma posição que o objecto emissivo de luz. Exemplo: (Luz emissiva a partir do material da superfície dum objecto) Glfloat mat_emission[]={0.3,0.2,0.2,0.0}; glmaterialfv(gl_front, GL_EMISSION, mat_emission); 31

Reflexão Ambiente Representa a reflexão de toda a iluminação indirecta Luz ambiente que resulta da iluminação duma cena através da luz reflectida pelos objectos existentes na cena. Calcular a luz ambiente duma forma exacta seria muito complicado. Por isso, adopta-se o modelo simplificado que assume que a luz ambiente é uniforme em todo o ambiente. I AL = intensidade de luz ambiente reflectida K A = coeficiente de luz ambiente reflectida I A = intensidade de luz ambiente I AL = K A I A Isto evita a complexidade da iluminação global! 32

Modelo de Reflexão Modelo Analítico Simplificado: Reflexão difusa + Reflexão especular + Emissão + Ambiente 33

Modelo de Reflexão Soma das Componentes Difusa, Especular, Emissiva e Ambiente 34

Cálculo da Iluminação da Superfície 1 Fonte de Luz: observador V R α! N θ! θ! L superfície P I = I E + K A I A + K D ( N L ) I + K ( S V R ) n I 35

Cálculo da Iluminação da Superfície Várias Fontes de Luz: observador V L 2 N L 1 superfície P # lights i=1 I = I E + K A I A + [K D N Li ( ) + K ( S V Ri ) n ]I i 36

Materiais em OpenGL As propriedades do material dum objecto definem como ele interage com as fontes de luz por forma a produzir a sua cor final. As propriedades do material são definidas através de: glmaterial{fi}(glenum face,glenum pname,t param); glmaterial{fi}v(glenum face,glenum pname,t *params); Os objectos podem ter materiais diferentes para os polígonos visíveis (anteriores) e para os polígonos ocultos (posteriores). 37

Propriedades dos Materiais em OpenGL GL_AMBIENT, GL_DIFFUSE, GL_AMBIENT_AND_DIFFUSE, e GL_SPECULAR são usadas para definir como o material interage com as componentes respectivas da fonte de luz. GL_SHININESS controla o extensão do realce ou brilho especular. GL_EMISSION controla a quantidade de luz que um objecto emite. 38

Cor do Material em OpenGL Normalmente, quando a iluminação é activada, a cor primária (especificada por glcolor()) é ignorada. Contudo, pode ser conveniente mudar as cores do material através de glcolor() em vez de usar glmaterial(). Isto é possível se se activar a cor do material com: glenable(gl_color_material); As componentes de material (ambiente, difusa, ambiente e difusa, ou especular) e as faces (anteriores, posteriores, ou ambas) afectadas pela cor do material podem ser controladas com: glcolormaterial(glenum face, GLenum mode); 39

Normais em OpenGL A normal corrente é activada com: void glnormal3{bsifd}(type nx, TYPE ny, TYPE nz); void glnormal3{bsifd}v(const TYPE *v); As normais devem ter comprimento unitário para que os resultados sejam correctos. Se a matriz modelview mudar o comprimento das suas normais, há que renormalizá-los usando: glenable(gl_normalize); Se se variar a escala dum modo uniforme, uma forma alternativa a GL_NORMALIZE é: glenable(gl_rescale_normal); 40

The Lighting Model in OpenGL O modelo de iluminação pode ser modificado usando: void gllightmodel{if}(glenum pname, TYPE param); void gllightmodel{if}v(glenum pname, const TYPE *param); As propriedades que podemos modificar incluem as seguintes: GL_LIGHT_MODEL_AMBIENT controla a luz ambiente global aplicada a todos os aobjectos GL_LIGHT_MODEL_LOCAL_VIEWER controla se o observador está no infinito (modelo menos aproximado) ou está na posição da câmara (modelo mais aproximado) GL_LIGHT_MODEL_TWO_SIZE controla se a iluminação é calculada para as faces anteriores e posteriores separadamente ou não. GL_LIGHT_MODEL_COLOR_CONTROL permite que a OpenGL interpole a cor especular separadamente, aplicando-a então após a texturização, por forma a preservar os brilhos reflexos. 41

Sobrevisão: modelos baseados na luz Iluminação Directa ou Local Tipos de Luz Fontes de Luz (emissão) Materiais da superfície dos objectos (reflexão) Iluminação Indirecta ou Global Sombras Refracções Reflexões entre objectos Global Illumination 42 FIM