Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Visibilidade em Computação Gráfica
Natasha Sayuri José Yauri
2
Conteúdo: Motivação Objetivos Introdução Problemas de visibilidade
Algoritmos: Em relação ao observador: Linhas ocultas Superfícies ocultas Em relação à fonte de luz Conclusões
3
Motivação Determinar a visibilidade de linhas e superfícies foi uns dos principais problemas a resolver pela nascente computação gráfica, dos anos 70; atualmente, com o incremento da complexidade da cena (centos, mil e milhões de segmentos e polígonos), a visibilidade ainda continua sendo crucial na síntese de imagens de uma cena 3D.
4
Objetivos Objetivo geral Objetivos específicos
Fazer um estudo e classificação dos algoritmos de visibilidade em computação gráfica. Objetivos específicos Elaborar um estudo dos algoritmos de visibilidade em relação ao observador e em relação às fontes de luz. Apresentar as técnicas de programação utilizadas em OpenGL para determinar a visibilidade de uma cena (Z-Buffer e Back-Culling). Apresentar o traçado de raio (Raytracing) de PovRay na determinação de visibilidade.
5
Visibilidade em OpenGL
OpenGL suporta diretamente o Z-Buffer (ou teste de profundidade) e eliminação de superfícies ocultas (back-face culling). Teste de Profundidade: em OpenGL e GLUT: Inicializar o contexto de OpenGL e alocar um espaço e memória para o buffer de profundidade. glutInitDisplayMode(GLUT_RGB A| GLUT_DOUBLE | GLUT_DEPTH); Logo, habilitar o teste de profundidade: glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); Durante a renderizacao de um novo quadro, o buffer de profundidade deve ser limpado: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
6
Teste de profundidade em OpenGl
Projeção em perspectiva, sem ativar gl_depth_test
7
Teste de profundidade em OpenGl
Projeção em perspectiva, sem ativar gl_depth_test
8
Teste de profundidade em OpenGl
Projeção em perspectiva, com GL_DEPTH_TEST
9
Teste de profundidade em OpenGl
Projeção em perspectiva, com GL_DEPTH_TEST
10
Back Face Culling em OpenGL
Projeção em perspectiva, rasterização de polígonos com linhas.
11
Back Face Culling em OpenGL
Projeção em perspectiva, rasterização de polígonos com linhas e eliminação de linhas escondidas ativado.. glEnable(GL_CULL_FACE); // Não pintar as faces escondidas
12
Back Face Culling em OpenGL
Projeção em perspectiva, rasterização de polígonos com linhas e eliminação de linhas escondidas ativado.. glEnable(GL_CULL_FACE); glCullFace(GL_FRONT); //Não pintar as faces frontais
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.