Iluminando o Cenário



Documentos relacionados
Computação Gráfica - 13

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

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

Modelos de Iluminação e Reflexão

Modelos de Iluminação Locais

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

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

Computação Gráfica - 13

Modelos de Iluminação

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

Modelos de Iluminação

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

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

Iluminação e sombreamento

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

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

Imagem e Gráficos. vetorial ou raster?

Curvas em coordenadas polares

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

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

Luz e Visão. Capítulo 8 8º ano - CSA

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

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

FCG2006 Prova sobre OpenGL e Rastreamento de Raios

3º Bimestre. Física I. Autor: Geraldo Velazquez

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

Iluminação e Sombreamento

DISCIPLINA EFEITOS BIOLÓGICOS DA RADIAÇÕES NÃO IONIZANTES 1º. QUADRIMESTRE DE 2012

UniposRio - FÍSICA. Leia atentamente as oito (8) questões e responda nas folhas de respostas fornecidas.

x d z θ i Figura 2.1: Geometria das placas paralelas (Vista Superior).

Introdução às equações diferenciais

2º Exame Computação Gráfica

Paulo Sérgio Rodrigues. Exercícios de Laboratório

4. Tangentes e normais; orientabilidade

APOSTILA TECNOLOGIA MECANICA

Cap. 7 - Fontes de Campo Magnético

Coordenadas Polares. Prof. Márcio Nascimento.

Lista de Exercícios de Física II Refração Prof: Tadeu Turma: 2 Ano do Ensino Médio Data: 03/08/2009

FACULDADE DE CIÊNCIA E TECNOLOGIA. Cursos de Engenharia. Prof. Álvaro Fernandes Serafim

Física B Extensivo V. 1

Prof. Rossini Bezerra Faculdade Boa Viagem

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

Campos Vetoriais e Integrais de Linha

1º Teste Computação Gráfica

Faculdade Sagrada Família

Projeção e Anaglifos

Velocidade Média Velocidade Instantânea Unidade de Grandeza Aceleração vetorial Aceleração tangencial Unidade de aceleração Aceleração centrípeta

2º Exame. Computação Gráfica

Óptica Geométrica. Universidade do Estado do Rio Grande do Norte. Dr. Edalmy Oliveira de Almeida

Iluminação e Sombreamento

Animação e Visualização Tridimensional

ESTUDO DAS PROJEÇÕES NOÇÕES ELEMENTARES 1. DEFINIÇÃO

por séries de potências

Análise de Arredondamento em Ponto Flutuante

Coordenadas Polares Mauri C. Nascimento Dep. De Matemática FC Unesp/Bauru

The Graphics Pipeline

9 é MATEMÁTICA. 26. O algarismo das unidades de (A) 0. (B) 1. (C) 3. (D) 6. (E) 9.

Questão 46 Questão 47

Iluminação artificial

Manual de aplicação do selo comemorativo de 60 anos da Ufes

O Problema da Projecção. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

Importante!! A forma e o número de segmentos de cada seção influirá diretamente nesta função.

7 AULA. Curvas Polares LIVRO. META Estudar as curvas planas em coordenadas polares (Curvas Polares).

Universidade Federal do Paraná

EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Apontamentos de Computação Gráfica

o conjunto das coberturas de dominós de uma superfície quadriculada S. Um caminho v 0 v 1...v n

MAGNETISMO - ELETROMAGNETISMO

Os Postulados da Mecânica Quântica

1. Difusão. A difusão só ocorre quando houver gradiente de: Concentração; Potencial; Pressão.

Soluções das Questões de Física da Universidade do Estado do Rio de Janeiro UERJ

Respostas - Exercícios de rotação e translação

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

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

Lista de Exercícios de: Trabalho de uma força paralela ao deslocamento

4. A FUNÇÃO AFIM. Uma função f: R R chama-se afim quando existem números reais a e b tais que f(x) = ax + b para todo x R. Casos particulares

ponto P terá as projecções P 1 e P 2. E o eixo X passa para X. Vamos ver o que acontece no plano do

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

Potenciação no Conjunto dos Números Inteiros - Z

Prof. Me. Marcos Echevarria

Computação Gráfica II

PROCESSO SELETIVO TURMA DE 2010 FASE 1 PROVA DE FÍSICA E SEU ENSINO

Retas e Planos. Equação Paramétrica da Reta no Espaço

Cálculo em Computadores trajectórias 1. Trajectórias Planas. 1 Trajectórias. 4.3 exercícios Coordenadas polares 5

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Exame de Recurso 29 de Junho de 2011

Assinale a alternativa que contém o gráfico que representa a aceleração em função do tempo correspondente ao movimento do ponto material.

EA616B Análise Linear de Sistemas Resposta em Frequência

Transcrição:

Iluminando o Cenário O realismo da cena é reforçada pela iluminação; A iluminação dos objetos cria a ilusão de volume: http://mech.fsv.cvut.cz/~dr/papers/habil/node51.html

Fundamentos: Fisicamente: a percepção da iluminação depende da distribuição da energia (dos fótons) que alcançam as células (cones/bastonetes) nos nossos olhos Essa energia se distribui de maneira complexa. Os fótons podem vir de uma fonte De luz ou combinações de várias fontes; Parte dos fótons são absorvidos outros são refletidos pelos objetos;

A absorção ou reflexão dos fótons influenciam na percepção da Iluminação e também sofre influência de diversos fatores: A polidez da superfície: a luz é espalhada em função da suavidade e orientação da superfície; A cor da superfície: reflexão da cor da luz incidente; A intensidade da luz incidente: intensidade de brilho; Características dos raios de luz: paralelos entre si ou não A posição do observador;

Resumindo: a percepção de brilho e cor (iluminação) de uma cena depende...: - Das próprias fontes de luz; - Das propriedades dos materiais; - Da localização do observador e; - Da orientação das superfícies. Em CG são aplicados modelos que simulam o efeito físico real da iluminação em função desses fatores.

Em CG, especialmente em aplicações de tempo real, não é necessário uma iluminação perfeita. Em geral adota-se a renderização local onde cada polígono é pintado de maneira independente do outro. Realiza-se uma aproximação dos efeitos reais de iluminação por meio de modelos empíricos simples. Quanto mais realista for o modelo/estratégia (Ray Tracing por exemplo ) maior o custo computacional para o cálculo envolvendo todos os objetos e fontes de luz.

O modelo empírico a ser abordado considera as seguintes componentes: Luz Ambiente Luz Difusa Luz Especular Para uma fonte de Luz, a intensidade total refletida It em um ponto da superfície é determinada conforme a equação: It= Iambiente + Idifusa + Iespecular

Luz Ambiente Trata-se de uma luz que está tão espalhada no ambiente a ponto de ser impossível determinar a sua direção ou fonte ela parece vir de todas as direções. Funciona como uma luz residual de fundo. É invariável à posição do observador (câmera sintética)

Cálculo da Luz Ambiente (Iluminação ambiental) A percepção de brilho e cor (intensidade refletida) é calculada através da equação: I a= K a I Ka = refletividade em relação à luz ambiente (característica do material) I = intensidade de luz ambiental incidente

Luz Difusa A reflexão de luz difusa é proporcional ao cos(θi) Sendo L (direção para a fonte de luz difusa) e N (a normal à superfície) dois vetores unitários, então: cos(θi)=l.n Levando em conta o material e a intensidade da luz difusa, teremos... I d =K d N L I

Luz Difusa Luz difusa refletida: I d = K d N L I Kd= refletividade da luz difusa; I = intensidade da luz incidente; L = vetor unitário orientado para a fonte de luz difusa; N = normal (unitária) no ponto da superfície que recebe a luz difusa.

Luz Difusa Surge o efeito de sombra em função da direção da luz em relação à normal. Se θ aumenta tendendo para 90o então proporcionalmente o cos(θ) decai e ocorre a formação de um gradiente de sombra.

Luz Difusa Se θ aumenta tendendo para 90o então, proporcionalmente, o cos(θ) decai e ocorre a formação de um gradiente de sombra. θ1 θ2 A B θ2 > θ1 reflexão menor mais sombra em B do que em A

Luz Difusa A reflexão da luz difusa depende apenas do ângulo θ de incidência. Independente da posição do observador a luz difusa no ponto P é percebida de maneira constante

Luz Difusa Uma superfície Lambertiana espalha a luz em todas as direções apresentando brilho perfeitamente uniforme. O gesso é uma superfície quase Lambertiana Quanto mais constante for a luz difusa mais lambertiana é a o material da superfície

Luz Especular (modelo empírico de Phong) A luz especular produz o efeito de reflexão em uma superfície polida, onde a luz incidente se reflete com mais intensidade em certo ponto do objeto. O brilho é mais intenso nesse ponto (reflexão perfeita) e decai ao redor dele.

Luz Especular (modelo Phong) A intensidade de luz especular refletida depende da posição do observador (câmera sintética) O decaimento da luz especular varia com o (cos(α )) n

Luz Especular (modelo Phong) A intensidade refletida é proporcional a cos n (α ) (cos(α )) n

Luz Especular (modelo Phong) n n Se R e V são unitários então cos(α ) = ( R V ) I e = ke I ( R V ) n R = 2 N ( N L) L k e = coeficiente de reflexão especular I = intensidade da luz especular incidente R = direção de reflexão da luz especular V = direção do observador n = shininess N = vetor normal L = direção da fonte de luz especular

shininess = 50 shininess = 1 shininess = 10

Luz Especular (modelo Blinn) Ao aplicar Phong para cálculo da iluminação especular, é necessário executar R.V para cada ponto da superfície, substituindo R.V por N.H reduz-se o custo do cálculo de R

É importante salientar: Na prática, It tem que ser calculada para cada componente R, G e B e também para cada fonte de luz (pode existir mais de uma fonte)

Relembrando os principais fatores que influenciam na percepção de iluminação (reflexão da luz): Características dos materiais: As superfícies podem ser mais ou menos polídas o que influencia na reflexão mais ou menos difusa ou especular. Características das fontes de luz Além disso as fontes de luz podem ser posicionais/spots (raios não paralelos) ou direcionais (raios paralelos); O Opengl parametriza as características do material e/ou da fonte de luz através das funções: glmaterial* e gllight*.

É importante salientar: Há também a atenuação f(d) causada pela distância da fonte de iluminação. Este fator pode ser linear constante ou quadrático: f(d)=1/(a+b.d+c.d2) d=distância a=fator constante b.d= fator linear c.d2=fator quadrático

Até aqui vimos o Modelo Empírico que calcula a iluminação. A tonalização é a aplicação deste modelo sobre os polígonos que formam as superfícies da cena... A tonalização pode ocorrer das seguintes formas: Facetado (FLAT); Suave (SMOOTH) Gourald Phong

Tonalização Facetada (a mais simples) cada polígono da superfície recebe a iluminação calculada para um ponto. Ou seja, calcula-se a iluminação apenas uma vez e aplica-se ao polígono em questão.

shininess= 3 FLAT (facetado)

Tonalização Suave - Gouraud A iluminação é calculada para cada vértice do polígono; A iluminação de cada ponto na superfície do polígono é determinada por interpolação bilinear tomando como referência os valores de iluminação calculados nos vértices do polígono.

Tonalização Suave - Gouraud

SMOOTH GOURAUD

OpenGL: Facetado e suave-gourald glshademodel(gl_flat); glshademodel(gl_smooth);

Tonalização Suave - Phong As normais em uma aresta são Interpoladas a partir dos vértices desta aresta. As normais internas são interpolação bilinear do par de normais calculadas em arestas.

Tonalização Suave - Phong A iluminação de cada ponto do polígono pode ser calculada a partir das normais interpoladas n(α ) = (1 α )na + α nb n(α, β ) = (1 β )nc + β nd

Tonalização Suave - Phong A tonalização de Phong é melhor que a de Gouraud porém, é computacionalmente mais cara.

Execute os seguintes programas identificando a prametrização da iluminação: www.opengl.org/resources/code/samples/redbook/material.c www.opengl.org/resources/code/samples/redbook/colormat.c Fonte: Code samples for the OpenGL v1.1 Programming Guide (Redbook)

Exercício1:

Dados do exercício 1: Vetores normais (normas unitárias): N1,N2,N3 e N4; As intensidades refletidas das componentes de luz são unitárias; A única fonte de luz é branca, R=1,G=1,B=1 para todos os componentes: ambiental, especular e difuso. Dessa forma, a cor do objeto será percebida (determinada) pelos coeficientes (K) dos materiais; Os coeficientes de reflexão Ka=Kd=Ke são conhecidos e iguais a (1,1,0); Shininess da componente especular: n=128; A reflexão da componente especular é calculada pelo modelo de Phong; Utilizar o modelo de tonalização de Gouraud: interpolação das iluminações calculadas nos vértices;

Dados do exercício 1: A fonte de luz é direcional, na direção do vetor D=(0,0,-1): fonte no infinito, raios paralelos; O vetor L de direção para a fonte de luz é L=-D;

Dados do exercício 1: Considere a direção de observação (V) coincidente com a direção de reflexão (R), portanto R.V=R.R=1

calcular a iluminação em cada vértice e interpolar a iluminação no ponto p: Solução exercício 1: Primeiro calcula-se a iluminação em V1 v1 v1 v1 v1 I t = I a + I + I esp d v2 v3 v4 O mesmo para I t, I t e I t Após isso é feita a interpolação bilinear :

Solução exercício 1: Componente ambiental em v1 : v v I a1 = I k a1 = 1 (1,1,0) = (1,1,0) Componente difusa em v1 : L = D = (0,0, 1) v v I 1 = k 1 I ( N v1 L) d d 1 1 1 v1 (0,0,1) I = (1,1,0) 1,, d 3 3 3 1 v1 1 I =,,0 d 3 3

Solução exercício 1: Componente especular em v1 : R v1 = 2 N v1 ( N v1 L) L = 1 1 1 1 1 1 (0,0,1) 0,0,1) 2,,,, 3 3 3 3 3 3 2 2 1 v 1 R =,, 3 3 3 v1 v1 I esp = k esp I ( R v1 V v1 ) n v1 v1 I esp = k esp I ( R v1 V v1 ) n v1 v1 I esp = k esp I ( R v1 R v1 ) n v1 I esp = (1,1,0) 1 1128 = (1,1,0)

Solução exercício 1: Iluminação em v1 : I v1 v1 v1 v1 = I + I + I = ambiental difusa especular 1 1 (1,1,0) +,,0 + (1,1,0) (2,58; 2,58; 0) 3 3

Solução exercício 1: Realize os demais cálculos e confirme que : I v1 = I v2 = I v3 = I v4 (2,58; 2,58; 0)

Solução exercício 1: Após calcular a iluminação para cada vértice aplique as equações de interpolação levando em conta as coordenadas dos vértices, as coordenadas

Exercício 2: Resolva a questão anterior aplicando a tonalização de Phong

Exercício 3: Considerando o seguinte trecho de código, qual a intensidade da luz incidindo no ponto P(17,1,-200): GLfloat w[ ]={1,1,1,1}; Glfloat b[ ]= {0,0,0,1}; Glfloat p[ ] = {0,0,10,1}; Glfloat d[ ]={0,0,0,1}; glenable(gl_lighting); glenable(gl_light0); gllightfv(gl_light0,gl_ambient,b); gllightfv(gl_light0,gl_diffuse,w); gllightfv(gl_light0,gl_specular,b); gllightfv(gl_light0,gl_position,p); gllightfv(gl_light0,gl_spot_direction,d); gllightfv(gl_light0,gl_spot_cutoff,180.0); gllightfv(gl_light0,gl_spot_exponent,128); falloff

Solução do Exercício 3: Deseja-se a intensidade da luz incidente sobre o ponto P Na incidência sobre o material: as luzes especular e ambiente estão praticamente desligadas (cor preta), há apenas uma componente difusa. I refletidadifusa = I incidentedifusa ( N L )

Solução do Exercício 3: qual é a IincidenteDifusa? A fonte de luz foi parametrizada para o formato SPOT, então a intensidade da luz incidente IincidenteDifusa é proporcional ao cosseno, elevado ao expoente 128, do ângulo de fall-off. Os cálculos de L e D constam nos próximos slides... n L D I incidentedifusa = ( cosα ) n = L D 128 L D I incidentedifusa = 0,0131 L D

Solução do Exercício 3: calculando L e D cos(θ ) = A B Esse racíocinio é aplicado em relação ao vetor direção D e o vetor L porém utilizando ( D) e L para que as origens dos dois vetores coincidam no ponto de origem da fonte de luz (ponto p [ 0,0,-190 ] T ). Dessa forma : L = p P = [0,0, 190]T [1,1, 200]T = [ 17, 1,10]T L = ( 17) 2 + ( 1) 2 + (10) 2 = 390 T 2 2, o vetor de direção é dado. D=,0, 2 2 D = 2 2 2 2 2 + 0 + 2 2 = 1, D já é um vetor normalizado.

Solução do Exercício 3: calculando L e D Da trigonometria, se A e B são vetores de mesma origem, e formam A B um ângulo θ, então : A B = A B cos(θ ) cos(θ ) =, A B Se, além disso, A e B são vetores normalizados, teremos : cos(θ ) = A B.

Exercício 4: Execute o seguinte trecho de código e teça comentários sobre o resultado da iluminação obtida (crie o objeto a ser iluminado). Descreva o papel dos parâmetros especificados por mat_shininess e GL_SPOT_EXPONENT? void init(void) { GLfloat mat_specular[ ] = {0.0, 0.0, 0.0, 1.0 }; GLfloat mat_diffuse[ ] ={0.0, 0.0, 0.0, 1.0 }; GLfloat mat_environmental[ ] = {0.0, 1.0, 0.0, 1.0 }; GLfloat mat_shininess[ ] ={3}; fallglfloat light_position[ ] = { 1.0, 0.0, 0.0, 1.0 }; off GLfloat light_specdirection[ ] = { 1.0, 0.0, 1.0, 1.0 }; glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel(gl_smooth); glmaterialfv(gl_front, GL_SPECULAR, mat_specular); glmaterialfv(gl_front, GL_SHININESS, mat_shininess); glmaterialfv(gl_front, GL_DIFFUSE, mat_diffuse); glmaterialfv(gl_front, GL_AMBIENT, mat_environmental); gllightfv(gl_light0, GL_POSITION, light_position); gllightfv(gl_light0, GL_SPOT_DIRECTION, light_specdirection); gllightf(gl_light0,gl_spot_cutoff,100.0); gl Lightf(GL_LIGHT0,GL_SPOT_EXPONENT,128); glenable(gl_lighting); glenable(gl_light0); glenable(gl_depth_test); }

Exercício 5: 1A)Determine a componente difusa da luz de intensidade (200;100;50) colocada na posição (0;1;0;0) sobre o vértice A do triângulo A=(3,2,1), B=(8,2,1), C=(4,8,-4). Utilize a regra da mão direita para a determinação da normal ao polígono. Kd=(0.6,0.5,0.3). Resp: L [0,1,0] Nn Ln =0.64 // Nn Normal normalizado e Ln vetor L normalizado Id=(76.8 32.0 9.6) 1B)Agora, considerando também uma componente ambiental com Ka=(1,1,1) e mesma intensidade, determine a Iluminação total no mesmo ponto A.

Exercício 6: 2A) Determine a componente especular de uma lâmpada de intensidade (1.0,0.4,1.0) colocada na posição (3,5,1,1) em relação ao ponto A=(6,2,1). O observador encontrase em (8,10,1), a normal N=(-1,2,0), material: Ke=(1,1,1) e n=8. A figura abaixo é uma ilustração geral e pode não retratar exatamente os parâmetros da questão: Resp: Rn=(-0.1394 0.9902 0) Vn=(0.242 0.97 0) Rn Vn=0.9267 Ie=(0.5437 0.2175 0.5437) 2B)Agora, considerando também uma componente ambiental com Kd=(0.6,0.7,0.6) e mesma intensidade determine a Iluminação total no mesmo ponto A