9
1 Computação Gráfica Iluminação Prof. Rodrigo Rocha [email protected] Introdução Determinação da cor envolve Além das propriedades da superfícies Cor, textura, material, ... Incidência da luz Shading Model Modelo de sombreamento Determina como o modelo de iluminação será aplicado e quais seus argumentos Ilumination Model Para produção de imagens realísticas, devemos simular a aparência da superfície sobre várias condições de iluminação Dado o ponto de incidência da luz, quantificamos a luz refletida

Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

1

Computação Gráfica

Iluminação

Prof. Rodrigo [email protected]

Introdução Determinação da cor envolve

• Além das propriedades da superfícies

Cor, textura, material, ...

• Incidência da luz

Shading Model

• Modelo de sombreamento

Determina como o modelo de iluminação será aplicado e quais seus argumentos

Ilumination Model

• Para produção de imagens realísticas, devemos simular a aparência da superfície sobre várias condições de iluminação

• Dado o ponto de incidência da luz, quantificamos a luz refletida

Page 2: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

2

Modelos de Iluminação

Efeitos de luz são descritos como modelos que consideram a interação de fontes de luz nas superfícies de objetos

Os fatores são:

• Origem da luzPosição

Aspecto/Eletromagnetísmo

Forma

• SuperfíciePosição

Propriedades reflectivas

Posição de superfícies próximas

• Parâmetros da câmeraPosição

Sensibilidade do sensor

Fontes de Luz

A-) Pontual

• Todos os raios de luz saem do mesmo ponto

B-) Paralela

• Raios de Luz paralelos

• Ponto infinito

C-) Distribuída

• Todos os raios vêem de um ponto finito no espaço

Page 3: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

3

Modelos de iluminação

Método simples e rápido para calcular a intensidade na superfície

Os cálculos são baseados em propriedades ópticas da superfície e as condições de iluminação (objetos reflectivos, sombras, etc.)

Fontes de luz são pontos de origem

Luz ambiente

Assumimos que existem várias luzes não direcionas no ambiente (luz de fundo)

O montante de luz incidindo em cada objeto é constante para todas as superfícies em todas as direções

Modelo simples, menos realístico

Padrão no OpenGL

Page 4: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

4

Luz Ambiente

A intensidade da luz refletida Iamb para cada ponto da superfícies é:

• Iamb = Ka IaIamb – intensidade da luz ambiente

Ka E [0,1] – Superfície reflete a luz

• As variáveis são em função das cores RGB

Exemplo

Reflexão Difusa

Superfícies ásperas ou granulado, como argila, solo, tecido

• A superfície parece

igualmente brilhante

de todos as direções

• O brilho em cada ponto é proporcional aocosseno do ângulo

Page 5: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

5

Reflexão Difusa

A instensidade da replexão Idiff em um ponto é

• Idiff = Kd Ipcos(teta) = Kd Ip(N-L)

• Onde Ip – Intensidade da luz em um ponto

Kd E [0,1] – A reflexão difusa na superfície

N – Normal

L – A direção da luz

Exemplos

Reflexão Especular

Modelos com superfícies brilhantes (como metal, plástico, etc.)

A intensidade da reflexão muda confome o ângulo de reflexão

Uma superfície “specular” ideal é o espelho, pois reflete a luz em uma só direção R

Produz pontos brilhantes

Fórmula:

Exemplo:

Page 6: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

6

Modelos de Shading (tonalização)

Método para aplicar um modelo de iluminação a um objeto (em geral, modelado como uma malha poligonal)

O método de shading é integrado a um algoritmo scanline (scanline graphics)

• – o processo de tonalização é feito para cada face visível dos modelos que compõem a cena, para determinar a cor (tom, intensidade) associada a cada ponto visível da face

• – seria muito custoso calcular o modelo de iluminação em cada ponto de cada face visível para determinar a cor

4 modelos:

• Constant

• Faceted

• Gouraud

• Phong – ordem crescente de qualidade de imagem e de custo computacional

Fonte: http://www.lcad.icmc.usp.br/~rosane/CG/Rendering.pdf

Constant Shading

calcula uma única cor (tom, or shade) para

todo o objeto (todas as faces)

não há variações de tonalidade ao longo do objeto, i.e., na verdade, não há shading.

Fonte: http://www.lcad.icmc.usp.br/~rosane/CG/Rendering.pdf

Page 7: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

7

Flat Shading modelo mais simples

• calcula uma cor (tonalidade) para cada polígono (face)

• Toda a face associada a uma cor única, calculada aplicando o modelo de iluminação

• vetor L no modelo : vai de qualquer ponto no polígono à posição da fonte de luz em geral, usa apenas os termos ambiente e de reflexão difusa do modelo de iluminação

• Simples e rápido, mas arestas entre faces são acentuadas

• Em OpenGL: glShadeMode(GL_FLAT)

Fonte: http://www.lcad.icmc.usp.br/~rosane/CG/Rendering.pdf

Gouraud shading

Interpola cores: aplica o modelo de iluminação nos vértices de cada face poligonal para obter a cor (intensidade) em cada vértice da face

interpola os valores obtidos nos vértices (IR,IG,IB) para determinar a cor nos pontos interiores aos polígonos

interpolação bi-linear das intensidades ao longo das linhas de varredura

Fonte: http://www.lcad.icmc.usp.br/~rosane/CG/Rendering.pdf

Page 8: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

8

Gouraud Shading

Algoritmo

• 1. determina a normal N em cada vértice do polígono

• 2. usa N e L para calcular a intensidade I em cada vértice do polígono (usando o modelo de iluminação)

• 3. usa interpolação bi-linear para calcular a intensidade IR,G,B em cada pixel no qual o polígono visível é projetado

• 4. “pinta” o pixel de acordo com a cor determinada

Fonte: http://www.lcad.icmc.usp.br/~rosane/CG/Rendering.pdf

Phong Shading

Calcula as normais nos vértices, interpola para determinar a normal em cada ponto da face

• Normais em pontos ao longo de uma aresta calculadas por interpolação linear dos valores nos vértices (e precisam ser re-normalizadas)

• Normais em pontos no interior da face calculadas por interpolação linear das normais nas arestas (e renormalizadas)

Aplica o modelo de iluminação de Phong em cada ponto visível do polígono para determinar I

Melhor queGouraud para capturar highlights especulares

Custo computacional muito maior

Fonte: http://www.lcad.icmc.usp.br/~rosane/CG/Rendering.pdf

Page 9: Computação Gráfica · igualmente brilhante de todos as direções •O brilho em cada ponto é proporcional ao cosseno do ângulo. 5 Reflexão Difusa A instensidade da replexão

9

Exercícios

1-) Qual a importância da iluminação em computação gráfica?

2-) Quais os problemas da iluminação do tipo ambiente?

3-) Quais as diferenças entre reflexão difusa e especular, cite exemplo de tipos de materiais que sofrem estas reflexões.

4-) Explique os modelos de iluminação Phong e Cook-Torrance?

5-) Em relação ao custo computacional, coloque em ordem os modelos de shading (do menor ao maior). Explique o por quê disso?

6-) Implemente em OpenGL um modelo de iluminação e shading.

7-) Como posso aplicar os modelos de iluminação e shading o Blender 3D.

Bibliografia

Livro texto (Programa do Livro texto - PLT)• FORBELLONE, A. Lógica de Programação. São Paulo: Pearson,

2005“

Complementar• CORMEN, Thomas H. Algoritmos: teoria e prática. 1.ed. Rio de

Janeiro: CAMPUS, 2002.

• MANZANO, J. A. N. G. Algoritmos: lógica para desenvolvimento de programação. 1.ed. São Paulo: Erica, 1996.

• ASTÊNCIO, A .F.G.; CAMPOS, E.D.. Fundamentos da Programação de Computadores. 1.ed. São Paulo: PRENTICE HALL BRASIL, 2002.