30
BCC327 - Computação Gráfica 17 - Iluminação e Sobreamento Rodolfo Ayala Lopes Costa Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 11 de Junho de 2018 Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 1 / 30

BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

BCC327 - Computação Gráfica17 - Iluminação e Sobreamento

Rodolfo Ayala Lopes Costa

Departamento de ComputaçãoInstituto de Ciências Exatas e Biológicas

Universidade Federal de Ouro Preto

11 de Junho de 2018

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 1 / 30

Page 2: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Cronograma da Aula

Iluminação

Conceitos básicosEmissoresReflexãoSombreamentoIluminação no OpenGL

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 2 / 30

Page 3: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Realismo Visual

Rendering - Realismo Visual

Fases do processo de Rendering:

Construção do modelo (modelagem dos objetos)Aplicação de transformações lineares (projeções e perspectivas)Eleminação de polígonos ou fases escondidasRecortes (clipping)RasterizaçãoHiddenIluminação presente nas cenas

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 3 / 30

Page 4: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Realismo Visual

Rasterização

Rasterização é o processo de conversão da representação vetorialpara a matricial

Ela permite realizar a conversão de um desenho tridimensionalqualquer em uma representação inteira possível de serarmazenada na memória (de vídeo ou impressão)

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 4 / 30

Page 5: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Realismo Visual

Rasterização

Rasterização de Retas:

Algoritmo de Bresenham

Rasterização de Polígonos:

Técnica de Alastramento

Técnica de Varredura (Scan-line)

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 5 / 30

Page 6: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Realismo Visual

Remoção de Linhas e Superfícies Escondidas - AlgoritmoZ-Buffer:

É o algoritmo mais simples e popular

Requer a alocação de até dois buffers, ou matrizes, em memória

Dimensões dos buffers são idênticas à tela de apresentação

Normalmente denominados buffers de Imagem e de Profundidade

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 6 / 30

Page 7: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Realismo Visual

Recorte:

Popularmente chamado de clipping

Quando especificamos uma janela no espaço do objeto queremos exibirsomente dos objetos que estejam no seu interior

Naturalmente alguns objetos estarão parcialmente visíveis

A operação que determina quais partes dos objetos planares estãovisíveis na janela é denominado recorte

Algoritmo de Cohen-Sutherland

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 7 / 30

Page 8: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Conceitos Iniciais

Um modelo de iluminação em Computação Gráfica define:

a natureza da luz emanada por uma fonte

sua interação com todos os objetos da cena

Sombreamento está diretamente relacionado a manipulação da luzdentro de modelo de iluminção em Computação Gráfica

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 8 / 30

Page 9: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Conceitos Iniciais

Luzes são ondas eletromagnéticas capazes de serem captadas pelavisão humana:

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 9 / 30

Page 10: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Conceitos Iniciais

Quanto a emissão de luz, os objetos podem ser classificados como:

Fontes de luz própria

Lâmpadas, lanternas, fogos, sol, etc

Refletores

Objetos coloridos e propriedades de sua superfície

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 10 / 30

Page 11: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Emissores

Podemos classificar as luzes como:

Ambiental

Direcional (Direct Light)

Pontual (Omni)

Refletora (Spot Light)

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 11 / 30

Page 12: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Emissores

Emissores - Luz Ambiental:

Ilumina igualmente todas as superfícies do ambiente

Posição da câmera não é importante

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 12 / 30

Page 13: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Emissores

Emissores - Luz Direcional (Direct Light):

Raios paralelos e com mesma intensidade

Simula os raios solares

Seu efeito é percebido dependendo da orientação da superfície

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 13 / 30

Page 14: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Conceitos Iniciais

Emissores - Luz Pontual (Omni):

Emite luz em todas as direções

Atinge os objetos com diferentes direções e intensidades

Iluminação do objeto varia de uma parte para outra, dependendo dadireção e da distância da fonte de luz

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 14 / 30

Page 15: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Emissores

Emissores - Luz Refletora (Spot Light):

Semelhante à puntual, porém os raios de luz são emitidos na forma deum cone, apontado para uma direção

A intensidade da luz diminui conforme o raio de luz se distancia dafonte

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 15 / 30

Page 16: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Reflexão

A maioria dos objetos ao nosso redor não emite luz própria

Reflete a radiação neles incidente em diferentes comprimentos de onda

Modelo de Reflexão:

Ambiente

Difusa

Especular

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 16 / 30

Page 17: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Reflexão - Ambiente

A luz atinge as superfícies igualmente em todas as direções apartir de uma fonte difusa não direcional

Em ambientes reais, superfícies que não são iluminadasdiretamente mas sim por luzes geradas por reflexão de outrassuperfícies

A quantidade de luz refletida depende das propriedades dassuperfícies

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 17 / 30

Page 18: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Reflexão - Difusa

A luz é refletida em diferentes direções

Reflexão em objeto com saliências ou foscos

Intensidade proporcional à orientação relativa entre incidência de luz ea superfície do objeto

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 18 / 30

Page 19: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Reflexão - Especular

O ângulo de reflexão é igual ao de incidência

Superfícies polidas, lustradas ou brilhantes

Gera brilho com a cor da luz

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 19 / 30

Page 20: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Reflexão

Comparação: Ambiente x Difusa x Especular

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 20 / 30

Page 21: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação

Reflexão

Comparação: Difusa x Especular

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 21 / 30

Page 22: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Sombreamento (Shading)

Simula o efeito de diferentes intensidades de iluminação sobre umobjeto

Também conhecido como tonalização

Utiliza as características das fontes de luz e dos objetos para ocálculo da tonalização

Inviabilidade da modelagem de todos os conceitos físicosenvolvidos

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 22 / 30

Page 23: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Sombreamento (Shading)

Modelo de Iluminação Constante (Flat)

O cálculo da reflexão da luz é feito apenas uma vez por superfície

Solução mais simples e rápida

Resulta em uma aparência facetada

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 23 / 30

Page 24: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Sombreamento (Shading)

Modelo de Iluminação de Gouraud

O cálculo da reflexão da luz é feita em cada vértice e cada face éresultado do gradiente entre os vértices

Interpolação para cálculo dos demais pontos

Sombreamento mais suave, mais demorada

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 24 / 30

Page 25: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Sombreamento (Shading)

Modelo de Iluminação de Gouraud

O cálculo da reflexão da luz é feita em cada vértice e cada face éresultado do gradiente entre os vértices

Interpolação para cálculo dos demais pontos

Sombreamento mais suave, mais demorada

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 25 / 30

Page 26: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Sombreamento (Shading)

Modelo de Iluminação de Phong

Calcula a interpolação linear dos vetores normais

Produz efeitos mais realistas e é ainda mais demorado

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 26 / 30

Page 27: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Resumo dos Modelos de Iluminação

Determinam quando avaliar a equação correspondente aomodelo de reflexão:

uma única vez a cada face do objeto (Flat)

para cada vértice das faces (Gouraud)

para cada ponto das faces (Phong)

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 27 / 30

Page 28: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Sombreamento

Modelo de Iluminação Global

Ray-Tracing

Ideia básica consiste em simular o caminho percorrido pelo raios de luzque se originam nas fontes de luz e atingem o olho

Para tornar o método mais eficiente, o processo consiste em simular osraios em sentido contrário, isto é, simular os raios que saem do olho eatingem alguma fonte de luz

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 28 / 30

Page 29: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação no OpenGL

Iluminação no OpenGL

Definindo os modelos de iluminação (Flat e Gouraud):

glShadeModel(GLenummode);

GL_FLAT

GL_SMOOTH

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 29 / 30

Page 30: BCC327 - Computação Gráfica - 17 - Iluminação e Sobreamento€¦ · BCC327-ComputaçãoGráfica 17 - Iluminação e Sobreamento RodolfoAyalaLopesCosta Departamento de Computação

Iluminação no OpenGL

Iluminação no OpenGL

A iluminação é resultado das propriedades especificadas para as fontesde luz e das propriedades dos materiais que constituem os objetos

Fontes de Luz:

glLightModefv(GLenum pname, TYPE *param)

glLightfv(GLenumlight, GLenum pname, TYPE *param)

Objetos:

glMaterialfv(GLenum face, GLenum pname, TYPE *param)

Rodolfo Ayala Lopes Costa (UFOP) BCC327 - Computação Gráfica 11 de Junho de 2018 30 / 30