Sunteți pe pagina 1din 25

Computao Grca ca a

Aula 29: Visibilidade

Vicente Helano Feitosa Batista Sobrinho Faculdade Para do Cear so a Sistemas de Informao ca 1o. semestre de 2011

O problema de visibilidade

As projeoes nos fornecem um indicativo de profundidade c Muitas vezes, necessrio adicionar um indicativo de e a ocluso entre objetos a

[Azevedo e Conci, 2003]

O problema de visibilidade

As projeoes nos fornecem um indicativo de profundidade c Muitas vezes, necessrio adicionar um indicativo de e a ocluso entre objetos a

[Azevedo e Conci, 2003]

[Azevedo e Conci, 2003]

Espaos de denio c ca

So algoritmos de ordenao parcial em Z a ca Podem ser denidos em dois espaos: c 1. Espao da cmera: operaes em ponto utuante c a co 2. Espao da imagem: operaes em pixels c co

Backface Culling

Algoritmo simples para descarte de faces no vis a veis

Backface Culling

Algoritmo simples para descarte de faces no vis a veis Dada a normal n de uma face F , temos: Se n, v > 0, ento F vis a e vel Seno F est escondida, logo podemos descart-la a a a

Backface Culling

Algoritmo simples para descarte de faces no vis a veis Dada a normal n de uma face F , temos: Se n, v > 0, ento F vis a e vel Seno F est escondida, logo podemos descart-la a a a

cmera a

Backface Culling

Algoritmo simples para descarte de faces no vis a veis Dada a normal n de uma face F , temos: Se n, v > 0, ento F vis a e vel Seno F est escondida, logo podemos descart-la a a a

cmera a

Backface Culling

Algoritmo simples para descarte de faces no vis a veis Dada a normal n de uma face F , temos: Se n, v > 0, ento F vis a e vel Seno F est escondida, logo podemos descart-la a a a Congurao de backface culling com OpenGL: ca Escolhemos o lado a ser eliminado com glCullFace(side), onde side pode ser: GL FRONT, GL BACK ou GL FRONT AND BACK Habilitamos a eliminao com ca glEnable(GL CULL FACE)

Backface Culling

Algoritmo simples para descarte de faces no vis a veis Dada a normal n de uma face F , temos: Se n, v > 0, ento F vis a e vel Seno F est escondida, logo podemos descart-la a a a Congurao de backface culling com OpenGL: ca Escolhemos o lado a ser eliminado com glCullFace(side), onde side pode ser: GL FRONT, GL BACK ou GL FRONT AND BACK Habilitamos a eliminao com ca glEnable(GL CULL FACE) Aproximadamente, metade das faces sero eliminadas a

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

y z

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Simples, denido no espao de cmera c a Ideia utilizada por artistas: desenhar de trs pra frente a Pixels mais ao fundo so sobrescritos ou combinados por a pixels mais prximos ao plano de projeo o ca

Algoritmo do Pintor

Vantagens Algoritmo simples Para objetos ordenados sem inconsistncias e Possibilita emprego de transparncia e

[Foley et al.]

Algoritmo do Pintor

Desvantagens Muitos pixels oclusos so rasterizados a Manuteno da ordenao dos pol ca ca gonos cenas com objetos mveis diminue drasticamente o desempenho o Ciclos e penetrao entre pol ca gonos so um problema a Soluo: recortar intersees ca co

Z-Buer

E implementado no espao da imagem c Ideia bsica: guarda-se a profundidade do pixel mais a prximo ao plano de projeo o ca Dois buers so mantidos: buer de cor (rascunho) e a buer de profundidade (z-buer )

Z-Buer

Algoritmo: Para cada polgono P da cena Para cada pixel (x, y) de um polgono P computar z_depth na posi~o x, y ca se z_depth < z_buffer (x, y) ent~o: a defina_pixel (x, y, color) troque o valor : z_buffer (x, y) = z_depth Inicializaes: co Inicializar o buer de cor com a cor de fundo Inicializar o z-buer com o valor da mxima profundidade a

Z-Buer

Vantagens: Simples implementao ca Objetos podem ser desenhados em qualquer ordem

Z-Buer

Vantagens: Simples implementao ca Objetos podem ser desenhados em qualquer ordem Maior desvantagem: Diculta o uso de transparncia e anti-serrilhado e

Z-Buer

Vantagens: Simples implementao ca Objetos podem ser desenhados em qualquer ordem Maior desvantagem: Diculta o uso de transparncia e anti-serrilhado e Em OpenGL: Inicializao do GLUT: glutInitDisplayMode ( ... ca GLUT DEPTH); Inicializao antes de desenhar: glClear( ... | ca GL DEPTH BUFFER BIT) Habilitar: glEnable (GL DEPTH TEST); |

S-ar putea să vă placă și