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

Documentos relacionados
Objetos definidos no seu próprio sistema de coordenadas

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

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 - 13

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

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

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

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

Computação Gráfica - 07

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

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

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

Computação Gráfica OpenGL 05 3D

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

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

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

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

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

2º Exame. Computação Gráfica

Iluminando o Cenário

Textura e Iluminação

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

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

IntMu.Lab5. Importe os ficheiros disponibilizados em

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark

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

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

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

Modelos de Iluminação e Reflexão

António Costa. Paulo Roma Cavalcanti

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

n À primeira vista: basta desenhar n Uma subrotina para desenhar cada tipo de objeto n Mas... n Como fazer interação? n Como estruturar a cena?

CG 2015/2016 Prova de Repescagem LEIC Alameda/Taguspark. 12 de Janeiro de 2016

Iluminação e sombreamento

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

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

Revisões. Módulos Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 228. Instituto Superior de Engenharia do Porto

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

Uma API para geração de gráficos

Computação Gráfica II

Iluminação e Sombreamento

1º Exame. Computação Gráfica

1º Exame. Computação Gráfica

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

CRAb Grupo de Computação Gráfica Departamento de Computação UFC

3- SUPERFÍCIES PARAMETRIZADAS...27

OpenGL #2: Brincando com Pixels

Modelos de Iluminação e Reflexão

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

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

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

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

CÁLCULOS DE ILUMINAÇÃO E SOMBREAMENTO

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

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL

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

Iluminação e Sombreamento

Shading (sombreamento) & Smooth Shading

Iluminação e Sombreamento

Iluminação e Sombreamento

Shading (sombreamento) & Smooth Shading

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

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

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

Técnicas de rendering. Realismo

Curso de extensão em Blender Prof. Luiz Gonzaga Damasceno

FCG2006 Prova sobre OpenGL e Rastreamento de Raios

Pipeline Gráfico Cluter & Durand, MIT

ILUMINAÇÃO E. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Realismo Visual. Modelo de Sombreamento ou de Iluminação UFF Aula 17. Capitulo 5- livro texto de computacao grafica

RECONSTRUÇÃO GRÁFICA TRIDIMENSIONAL DE CONSTRUÇÕES A PARTIR DE IMAGENS AÉREAS

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

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

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

Iluminação. André Tavares da Silva. baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti

Assunto última aula. Flat Shading

Animação e Visualização Tridimensional

PROGRAMAÇÃO OPENGL LIVRO: TEORIA DA COMPUTAÇÃO GRÁFICA

Linda Iluminação. ão, mas não real!! Aula 14. Porque? fases plana e curvas. Iluminação IC/UFF 2017/2

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

Texturas. André Tavares da Silva. Baseado no material de Claudio Esperança e Paulo Roma Cavalcanti

A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual

aula 10 corretamente IC/UFF 2017/2

aula 10 corretamente IC/UFF 2017/2

Algoritmos de Iluminação Global

OpenGL Conceitos Básicos

Transformações 3D. Soraia Raupp Musse

OpenGL. Alberto B. Raposo

Realismo. Isabel Harb Manssour. Porto Alegre, maio de Realismo. Modelos de Cor. Modelos de Cor. Modelos de Cor

5 Iluminação Baseada em Imagem

Introdução ao OpenGL

Sombreamento. Apontamentos CG + Edward Angel, Cap 6. Instituto Superior Técnico Computação Gráfica 2009/2010

Representação de Objetos e Cenas. Soraia Musse

Iluminação e Sombreamento

Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG

ESTUDO DE ILUMINAÇÃO DE AMBIENTES COM REVIT 2010.

Modelos Globais de Iluminação

Nº Nome: Antes de começar: Identifique todas as folhas com o seu número.

Transcrição:

Iluminação em OpenGL André Tavares da Silva andre.silva@udesc.br

Iluminação em OpenGL Assume fontes pontuais de luz Omnidirecionais: todas as direções. Ex. : sol (direcional), luz incandescente (pontual); Spot : um feixe de luz. Exemplo: lanterna, luminária de mesa, holofote Interações de luz com superfície modeladas em componentes (modelo de Phong): Emissão Ambiente Difusa Especular

Iluminação em OpenGL Suporte a efeitos atmosféricos como Fog Atenuação Modelo de iluminação é calculada apenas nos vértices das superfícies Cor dos demais pixels é interpolada linearmente (sombreamento Gouraud)

Fontes de Luz Para ligar uma fonte: glenable (source); source é uma constante cujo nome é GL_LIGHT i, começando com GL_LIGHT0 Quantas? Pelo menos 8, mas para ter certeza: glgetintegerv( GL_MAX_LIGHTS, &n ); Não esquecer de ligar o cálculo de cores pelo modelo de iluminação glenable (GL_LIGHTING);

Fontes de Luz Para configurar as propriedades de cada fonte: gllightfv(source, property, value); Property é uma constante designando: Coeficientes de cor usados no modelo de iluminação: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR Geometria da fonte GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_CUTOFF, GL_SPOT_EXPONENT Coeficientes de atenuação GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION

Exemplo GLfloat light0_ambient[] = {0.0, 0.1, 0.0, 1.0}; GLfloat light0_diffuse[] = {0.0, 0.0, 1.0, 1.0}; GLfloat light0_specular[] = {1.0, 1.0, 1.0, 1.0}; GLfloat light0_position[] = {1.0, 2.0, 3.0, 1.0}; gllightfv(gl_light0, GL_POSITION, light0_position); gllightfv(gl_light0, GL_AMBIENT, light0_ambient); gllightfv(gl_light0, GL_DIFFUSE, light0_diffuse); gllightfv(gl_light0, GL_SPECULAR, light0_specular); glenable(gl_light0); glenable(gl_lighting);

Fontes de Luz (relembrando...) Para configurar as propriedades de cada fonte: gllightfv(source, property, value); Property é uma constante designando: Coeficientes de cor usados no modelo de iluminação: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR Geometria da fonte GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_CUTOFF, GL_SPOT_EXPONENT Coeficientes de atenuação GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION Como criar uma luz direcional?

Exemplo GLfloat light0_ambient[] = {0.0, 0.1, 0.0, 1.0}; GLfloat light0_diffuse[] = {0.0, 0.0, 1.0, 1.0}; GLfloat light0_specular[] = {1.0, 1.0, 1.0, 1.0}; GLfloat light0_position[] = {1.0, 2.0, 3.0, 0.0}; gllightfv(gl_light0, GL_POSITION, light0_position); gllightfv(gl_light0, GL_AMBIENT, light0_ambient); gllightfv(gl_light0, GL_DIFFUSE, light0_diffuse); gllightfv(gl_light0, GL_SPECULAR, light0_specular); glenable(gl_light0); glenable(gl_lighting); Isso significa que esse vetor agora será interpretado como uma direção, e não mais como uma posição.

Propriedades de Material Especificados por glmaterialfv (face, property, value) Face define quais lados da superfície se quer configurar: GL_FRONT, GL_BACK, GL_FRONT_AND_BACK Property a propriedade do modelo de iluminação: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS

Exemplo GLfloat mat_ambient[] = {0.2, 0.2, 0.2, 1.0}; GLfloat mat_diffuse[] = {0.7, 0.0, 0.0, 1.0}; GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0}; GLfloat mat_shininess[] = {5.0}; glmaterialfv(gl_front, GL_AMBIENT, mat_ambient); glmaterialfv(gl_front, GL_DIFFUSE, mat_diffuse); glmaterialfv(gl_front, GL_SPECULAR, mat_specular); glmaterialfv(gl_front, GL_SHININESS, mat_shininess);

Valores default OpenGL Fonte de luz: GL_LIGHT0 Luz difusa e especular branca! Não existe componente ambiente posição: infinito (0,0,1,0) // Z+ atenuação constante: 1.0 Material: (Reflexão Reflexão de 80% da luz difusa e 20% da luz de ambiente, 0% de especular, 0% de emissiva; brilho=0.0;

Modelo de Sombreamento (shade) Especificados por glshademodel (Glenum mode); mode estabelece o modo de colorização: GL_FLAT, GL_SMOOTH GL_FLAT cor da face não varia GL_SMOOTH cor da face é calculada pela interpolação dos vértices (Gouraud)

Modelo de Sombreamento (shade) Especificados por glshademodel (Glenum mode); mode estabelece o modo de colorização: GL_FLAT, GL_SMOOTH GL_FLAT cor da face não varia GL_SMOOTH cor da face é calculada pela interpolação dos vértices (Gouraud) Phong?

Exercício O primeiro passo é ler com atenção os slides que falam sobre iluminação; O segundo passo é compilar e executar o exemplo; Veja o que acontece quando desabilitamos a iluminação; ( glenable(gl_lighting); ) Veja o que acontece quando desabilitamos a luz 0 ; ( glenable(gl_light0); ) Transforme a luz pontual em uma luz direcional; Veja o que acontece se mudarmos o modelo de sombreamento para flat shading; Troque a esfera pelo Utah teapot (glutsolidteapot).

Exercício Insira uma luz do tipo spot de cor amarela apontada para o objeto; Mude a distância da luz spot ao objeto; Coloque dois retângulos lado a lado; Faça com que ambos fiquem a um certo ângulo entre eles (como uma folha dobrada); Altere a normal dos vértices de forma que seja a média da normal das duas faces.