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

Slides:



Advertisements
Apresentações semelhantes
II Projeto de PG Thiago Augusto Souza do Nascimento.
Advertisements

Funções para serem usadas no exercício de Lab
Mauricio Cunha Escarpinati
CRAb – Grupo de Computação Gráfica Departamento de Computação UFC
Computação Gráfica Mapeamento de textura
OpenGL Clique para adicionar texto Soraia Musse 6/4/2011.
António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.
Projeções e OpenGL Alex F. V. Machado.
COMPUTAÇÃO GRÁFICA.
Introdução a OpenGL (parte final).
Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico
Introdução à Computação Gráfica Colorização
Iluminação e Sombreamento
24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Navegador de cenas com openGL e rastreamento de raios
OpenGL Conceitos Básicos
OpenGL Alberto B. Raposo.
Parallax Mapping Rodrigo Martins FCG 2005/1.
A terceira dimensão.
Funções para serem usadas no exercício de Lab nos dias (11/03/2010 e 17/03/10) Visualização 3D Incluir no FrameWork Básico (na página da disciplina), as.
Computação Gráfica Teórica
Computação Gráfica: Aula8: Iluminação
Iluminação Para programar um sistema de iluminação, dois passos principais devem ser considerados: c) Que tipo e posição de Iluminação se deseja b) Que.
Computação Gráfica: Aula6: Iluminação
Iluminação e FotoRealismo: R adiosidade Luís Paulo Peixoto dos Santos
Iluminação e FotoRealismo: Radiosidade
An Improved Illumination Model for Shaded Display
Computação Gráfica Texturas.
Iluminação e FotoRealismo: BRDF e Equação de Rendering
Computação Gráfica Iluminação.
Computação Gráfica Desempenho.
Computação Gráfica Pipeline Gráfico.
Movimentos de Câmara – Modo Explorador
Geração de Geometria - Terrenos
Computação Gráfica: Aula6: Iluminação
Simulação Massa-Mola para Tecidos
Fundamentos Corel Draw Aula I Prof. David Bianchini
Introdução à Computação Gráfica Projeções
Modelos de reflexão Trabalho 1 Pablo Bioni.
Visão Computacional Shape from Shading
Animações Independentes na Mesma Cena
Tarefa: Implementar o Demo na página da disciplina. Para trabalhar com iluminação em OpenGL, deve-se definir: 1)Vetores de iluminação : Ex: GLfloat luzAmbiente[4]={0.2,0.2,0.2,1.0};
Hugo Siqueira (hlfs) Lauro Mafra Rafael Correa
Transformações Geométricas no Plano e no Espaço
Iluminação e Sombreamento
COR.
Computação Gráfica – Visibilidade
Computação Gráfica Mapeamento de textura
Ambient Occlusion Disciplina: Fundamentos de Computação Gráfica Professor : Marcelo Gattass Allan Carlos Avelino Rocha Departamento de Informática.
Realidade Virtual Aula 6
Computação Gráfica Introdução ao OpenGL.
Computação Gráfica – Iluminação
Introdução à Computação Gráfica OpenGL Básico
COMPUTAÇÃO GRÁFICA E INTERFACES
Computação Gráfica – Iluminação
Image Based Cartoon Style Rendering Jeronimo Silvério Venetillo Fabio Issao Nakamura.
Projeto e Implementação de Jogos Eletrônicos
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica – Transformações Projetivas
Luiz Fernando Marcio Neves Petrônio Gomes Thiago Monteiro Victor Hazin
Desenhos Tridimensionais
Introdução à Multimídia
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica: Aula6: Iluminação
Rendering Por Adinan Aguiar.
Introdução à Computação Gráfica Iluminação
Geometria Reflexão (1º ciclo)
1 Computação Gráfica Prof. Dr. Júlio C. Klafke UNIP-Objetivo
Transcrição da apresentação:

Computação Gráfica Iluminação e Texturas

Iluminação Para que o OpenGL ilumine a cena é necessário: Na fase de setup: Indicar o modelo de shading: FLAT ou SMOOTH Indicar as características das fontes de luz Activar a iluminação Na fase de rendering: Especificar os materiais dos objectos Indicar as normais dos modelos DI-UM Computação Gráfica 07/08

Modelo de Shading glShadeModel (opção) Opção = GL_FLAT ou GL_SMOOTH DI-UM Computação Gráfica 07/08

Fonte de Luz Uma fonte de luz direccional é especificada indicando o vector direcção: float l_dir={0., 1., 0., 0.}; // w=0. -> vector glLightfv (GL_LIGHT0, GL_POSITION, l_dir); A intensidade difusa é especificada: float l_diff={1., 1., 1.}; glLightfv (GL_LIGHT0, GL_DIFFUSE, l_dir); A luz ambiente presente na cena: float amb={0.2, 0.2, 0.2}; glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient); DI-UM Computação Gráfica 07/08

Activar iluminação glEnable (GL_LIGHT0); glEnalble (GL_LIGHTING); DI-UM Computação Gráfica 07/08

Especificar os materiais Antes de desenhar cada objecto indicar ao OpenGL que se devem usar as propriedades dos materiais dos objectos. Para a componente de reflexão difusa: glColorMaterial(GL_FRONT, GL_DIFFUSE); Usar a cor do objecto: glEnable(GL_COLOR_MATERIAL); DI-UM Computação Gráfica 07/08

Normais glNormal3f (Nx, Ny, Nz); Ao especificar cada vértice especifica-se a normal: glNormal3f (Nx, Ny, Nz); glVertex3f (Vx, Vy, Vz); No caso do terreno a função terrainLoadFromImage (char *fname, int normals) calcula as normais para cada vértice se normals!=0 A função terrainCreateDL() encarrega-se de especificar as normais se estas tiverem sido previamente calculadas DI-UM Computação Gráfica 07/08

Exercício Adapte a aplicação desenvolvida nas sessões anteriores para que: Use uma fonte de luz direccional Permita aumentar/diminuir a componente ambiente pressionando as teclas ‘A’/’a’ DI-UM Computação Gráfica 07/08

Transformações das texturas As texturas podem ser transformadas tal como a geometria. Para especificar transformações a aplicar a texturas usar: glMatrixMode(GL_TEXTURE); As transformações especificadas a seguir aplicar-se-ão às texturas. DI-UM Computação Gráfica 07/08

Transformações das texturas Por exemplo, para rodar uma textura mapeada num polígono de um ângulo dependente da frame actual (contada usando a variável step) usar: glMatrixMode(GL_TEXTURE); glPushMatrix(); glRotatef(step/100.,0.,0.,1.); glMatrixMode(GL_MODELVIEW); Após o desenho do polígono fazer o reset à matriz: glPopMatrix(); DI-UM Computação Gráfica 07/08

Exercício Adapte a aplicação desenvolvida nas sessões anteriores para que: Desenhe um polígono horizontal (plano XZ) com uma textura representando água mapeada (ficheiro water.tga) A coordenada YY deste polígono varie entre 0 e 100 usando as teclas ‘w’/‘W’ Esta textura sofra uma rotação de frame para frame simulando água DI-UM Computação Gráfica 07/08