SlideShare uma empresa Scribd logo
Eliminação de SuperfíciesEliminação de Superfícies
EscondidasEscondidas
Eliminação de faces escondidasEliminação de faces escondidas
Uma das necessidades de eliminar superfícies
escondidas está na interpretação feita pelas
vistas.
Esta ambiguidade pode ser eliminada
removendo as linhas ou superfícies que são
invisíveis a partir das duas visões.
Eliminação de faces escondidasEliminação de faces escondidas
Alguns objetos podem ocultar outros.
Linhas e faces são ocultas pelo próprio
objeto ou por outros.
Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface
Culling)Culling)
Exibição por normais
Eficiente quando renderizando poucos
polígonos
Objetos sólidos convexos
Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface
Culling)Culling)
Inversão de normais
OpenGL
Simples
Requer capacidade computacional
dependendo da implementação
Eliminação de faces traseirasEliminação de faces traseiras
(Backface Culling)(Backface Culling)
 Determina-se o ângulo entre a direção do observador e
o vetor normal de cada face.
 As faces ques estão ao lado oposto do observador são
determinadas como faces traseiras.
 Elimina-se estas faces do desenho (backface culling)
Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface
Culling)Culling)
vértices linhas Back-Face Culling
Inter-object visibility Shading
Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface
Culling)Culling)
Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface
Culling)Culling)
Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface
Culling)Culling)
Eliminação de faces traseirasEliminação de faces traseiras
(Backface Culling)(Backface Culling)
 Executa-se o cálculo do produto escalar
 Positivo para um polígono de face traseira (vetores com ângulo menor que
90º, face virada para trás)
 Negativo para um polígono de face frontal (vetores com ângulo maior que
90º, face vira para frente)
 Igual a zero para um polígono da face “lateral” (vetores perpendiculares,
face não-visível)
Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s
Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method)
André LaMothe (AI hardware/software
research)
Instituto de Pesquisa de Ciência da
Computação Avançada da NASA
XGameStation
Série Black Art
Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s
Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method)
Criado por André LaMothe(1995)
Surgiu por ser inspirado na maneira que quadros
são pintados
Ordena polígonos de acordo com a
profundidade (extensão Z)
Ambiguidade na sobreposição (intersecção)
Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s
Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method)
Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s
Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method)
Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s
Algorithm)Algorithm) (Depth-Sorting Method(Depth-Sorting Method
Cinco testes para consertar ambiguidade:
1.A extensão X dos polígonos não se sobrepõem, então os polígonos não
se sobrepõem
2.A extensão Y dos polígonos não se sobrepõem, então os polígonos não
se sobrepõem
3.P está totalmente atrás de Q , então os polígonos não se sobrepõem
4.Q está totalmente atrás de P, então os polígonos não se sobrepõem
5.As projeções dos polígonos no plano XY (tela) não se sobrepõem, então
os polígonos não se sobrepõem
Algorítmo Z-bufferAlgorítmo Z-buffer
Edwin Catmull
Co-fundador e presidente do Pixar
Animation Studio
Pai do Texture Mapping (Ph.D. thesis of
1974.)
http://www.youtube.com/watch?
v=iizL2iCMe28&feature=player_embedde
Algorítmo Z-bufferAlgorítmo Z-buffer
Criado por Edwin Catmull em 1974
Procedimento de preenchimento de polígonos (scan-line Z-Buffer):
◦ Z-Buffer e scan-line Z-Buffer faz a varredura do polígono a ser exibido, linha a
linha.
Algorítmo Z-bufferAlgorítmo Z-buffer
Dois buffers :
◦ Color/frame Buffer (armazena cor atual de cada pixel);
◦ Z-Buffer - profundidade máxima (armazena para cada pixel, a profundidade
do objeto mais próximo).
Algorítmo Z-bufferAlgorítmo Z-buffer
Conjunto de pares (x, y) com o valor de z mais
próximo do ponto de visão
OpenGL (Hardware/Software)
Exige memória
Desempenho constante
Não trata transparência facilmente (precisaria guardar
informação sobre polígonos parcialmente cobertos)
Algorítmo Z-bufferAlgorítmo Z-buffer
Algorítmo Z-bufferAlgorítmo Z-buffer
Lista of polígonos {P1, P2, ..., Pn}
Matriz z-buffer[x,y] inicializado com -8
Matriz Intensidade[x,y]
Início
para cada polígono P na lista de polígonos faça {
para cada pixel (x,y) que intercepta P faça {
calcule profundidade-z de P na posição (x,y)
se prof-z < z-buffer[x,y] então {
Intensidade[x,y] = intensidade de P em (x,y)
z-buffer[x,y] = prof-z
}
}
}
Desenhe Intensidade
fim
ComparaçãoComparação
Árvores BSPÁrvores BSP
Henry Fuchs, Zvi Kedem and Bruce
Naylor
Schumacker, Brand, Gilliland and Sharp
Z-buffer não existia
Árvores BSPÁrvores BSP
BSP = Binary Space-Partitioning (Partição
Binária do Espaço)
Criada por Fuchs, Kedem e Naylor em
1980
Permite a ordenação correta dos
segmentos de retas, ou polígonos, a partir
de qualquer ponto de visão
Árvores BSPÁrvores BSP
Fornece ordem de renderização
Determina parte visível / escondida de
polígonos (DOOM)
Planos de corte
Ordem back to front
Árvores BSPÁrvores BSP
Árvores BSPÁrvores BSP
Árvores BSPÁrvores BSP
Árvores BSPÁrvores BSP
Árvores BSPÁrvores BSP
Gabriel Estimado PozaGabriel Estimado Poza
José Arthur Vigilante MartinsJosé Arthur Vigilante Martins
Marina Ikeda UshiroMarina Ikeda Ushiro
Jogos DigitaisJogos Digitais
4º Semestre4º Semestre

Mais conteúdo relacionado

ODP
Algoritmo Z-Buffer e Árvores BSP
PDF
document
ODP
Computação Gráfica - Introdução
PDF
Computação gráfica
PDF
Computação Gráfica
PDF
Algoritmos de Percurso Aplicados à Robótica
PPTX
Mapeamento de Textura
PDF
História da Computação Gráfica
Algoritmo Z-Buffer e Árvores BSP
document
Computação Gráfica - Introdução
Computação gráfica
Computação Gráfica
Algoritmos de Percurso Aplicados à Robótica
Mapeamento de Textura
História da Computação Gráfica

Destaque (20)

PDF
Aula19 visibilidade
PDF
Prototipagem de Sistemas Digitais - Introdução a VHDL
PPTX
Métodos de Tonalização
PPS
Lógica parte 1 - Introdução
PPT
Campus Party - Computer Vision
PDF
Algoritmos aproximativos
PDF
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
PPT
Testes Lógicos
PPT
Artefatos Na Imagem Ressonância Magnética
PPT
Desenho e Marco Lógico para Avaliação de Programas
PDF
mod1-algoritmia
PPT
Gestão de Configuração de Software
PPTX
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
PDF
Apostila Algoritmos e Estrutura de Dados (AEDS)
PDF
Curso básico de Algoritmos com Python
PPTX
Algoritmos e Técnicas de Programação - Curso Completo
PDF
Aula 5 - Estruturas de seleção simples e composta - parte 1
PPTX
Algoritmos - Formas de Representação de Algoritmos
PPT
Material de Apoio de Algoritmo e Lógica de Programação
Aula19 visibilidade
Prototipagem de Sistemas Digitais - Introdução a VHDL
Métodos de Tonalização
Lógica parte 1 - Introdução
Campus Party - Computer Vision
Algoritmos aproximativos
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Testes Lógicos
Artefatos Na Imagem Ressonância Magnética
Desenho e Marco Lógico para Avaliação de Programas
mod1-algoritmia
Gestão de Configuração de Software
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Apostila Algoritmos e Estrutura de Dados (AEDS)
Curso básico de Algoritmos com Python
Algoritmos e Técnicas de Programação - Curso Completo
Aula 5 - Estruturas de seleção simples e composta - parte 1
Algoritmos - Formas de Representação de Algoritmos
Material de Apoio de Algoritmo e Lógica de Programação
Anúncio

Semelhante a Eliminação de Superfícies Escondidas (6)

PDF
Modelagem 3D e Blender
PDF
Apresentação Maria - Computação Gráfica.pdf
PDF
Marching Cubes
PPT
Point Based Rendering Technique
PDF
camera-e-viewing.pdf
PDF
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
Modelagem 3D e Blender
Apresentação Maria - Computação Gráfica.pdf
Marching Cubes
Point Based Rendering Technique
camera-e-viewing.pdf
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
Anúncio

Mais de Jogos Digitais, PUC - SP (19)

PPTX
Desenvolvimento de jogos para smart phones
PPT
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
PPT
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
PDF
Workshops de Unity
PDF
Games Open Source: experiências na comunidade KDE
PDF
PPT
Problemas na produção de jogos - Bounty Hunters
ODP
Problemas na produção de jogos - Projeto Vates (Conceitual)
PPTX
Rendering e Placas Graficas
PPT
Modelos de Iluminação e Reflexão
PPT
Problemas na produção de jogos - Dirty Control
PPT
Pesquisa em Games
PDF
Templates para roteiro
PDF
Mini-curso XNA
PPT
Game Engine Unity 3D | Workshop
PPTX
Roteiro para Games
PPS
Desmistificando o desenvolvimento de jogos no Brasil
PDF
Games: uma mídia de expressão
PPS
As múltiplas faces de um desenvolvedor de jogos
Desenvolvimento de jogos para smart phones
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
Workshops de Unity
Games Open Source: experiências na comunidade KDE
Problemas na produção de jogos - Bounty Hunters
Problemas na produção de jogos - Projeto Vates (Conceitual)
Rendering e Placas Graficas
Modelos de Iluminação e Reflexão
Problemas na produção de jogos - Dirty Control
Pesquisa em Games
Templates para roteiro
Mini-curso XNA
Game Engine Unity 3D | Workshop
Roteiro para Games
Desmistificando o desenvolvimento de jogos no Brasil
Games: uma mídia de expressão
As múltiplas faces de um desenvolvedor de jogos

Último (9)

PPTX
Utilizando code blockes por andre backes
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Eng. Software - pontos essenciais para o início
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Utilizando code blockes por andre backes
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Manejo integrado de pragas na cultura do algodão
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Tipos de servidor em redes de computador.pptx
Eng. Software - pontos essenciais para o início
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf

Eliminação de Superfícies Escondidas

  • 1. Eliminação de SuperfíciesEliminação de Superfícies EscondidasEscondidas
  • 2. Eliminação de faces escondidasEliminação de faces escondidas Uma das necessidades de eliminar superfícies escondidas está na interpretação feita pelas vistas. Esta ambiguidade pode ser eliminada removendo as linhas ou superfícies que são invisíveis a partir das duas visões.
  • 3. Eliminação de faces escondidasEliminação de faces escondidas Alguns objetos podem ocultar outros. Linhas e faces são ocultas pelo próprio objeto ou por outros.
  • 4. Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface Culling)Culling) Exibição por normais Eficiente quando renderizando poucos polígonos Objetos sólidos convexos
  • 5. Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface Culling)Culling) Inversão de normais OpenGL Simples Requer capacidade computacional dependendo da implementação
  • 6. Eliminação de faces traseirasEliminação de faces traseiras (Backface Culling)(Backface Culling)  Determina-se o ângulo entre a direção do observador e o vetor normal de cada face.  As faces ques estão ao lado oposto do observador são determinadas como faces traseiras.  Elimina-se estas faces do desenho (backface culling)
  • 7. Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface Culling)Culling) vértices linhas Back-Face Culling Inter-object visibility Shading
  • 8. Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface Culling)Culling)
  • 9. Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface Culling)Culling)
  • 10. Eliminação de faces traseiras (BackfaceEliminação de faces traseiras (Backface Culling)Culling)
  • 11. Eliminação de faces traseirasEliminação de faces traseiras (Backface Culling)(Backface Culling)  Executa-se o cálculo do produto escalar  Positivo para um polígono de face traseira (vetores com ângulo menor que 90º, face virada para trás)  Negativo para um polígono de face frontal (vetores com ângulo maior que 90º, face vira para frente)  Igual a zero para um polígono da face “lateral” (vetores perpendiculares, face não-visível)
  • 12. Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method) André LaMothe (AI hardware/software research) Instituto de Pesquisa de Ciência da Computação Avançada da NASA XGameStation Série Black Art
  • 13. Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method) Criado por André LaMothe(1995) Surgiu por ser inspirado na maneira que quadros são pintados Ordena polígonos de acordo com a profundidade (extensão Z) Ambiguidade na sobreposição (intersecção)
  • 14. Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method)
  • 15. Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s Algorithm)Algorithm) (Depth-Sorting Method)(Depth-Sorting Method)
  • 16. Algoritmo do Pintor (Painter’sAlgoritmo do Pintor (Painter’s Algorithm)Algorithm) (Depth-Sorting Method(Depth-Sorting Method Cinco testes para consertar ambiguidade: 1.A extensão X dos polígonos não se sobrepõem, então os polígonos não se sobrepõem 2.A extensão Y dos polígonos não se sobrepõem, então os polígonos não se sobrepõem 3.P está totalmente atrás de Q , então os polígonos não se sobrepõem 4.Q está totalmente atrás de P, então os polígonos não se sobrepõem 5.As projeções dos polígonos no plano XY (tela) não se sobrepõem, então os polígonos não se sobrepõem
  • 17. Algorítmo Z-bufferAlgorítmo Z-buffer Edwin Catmull Co-fundador e presidente do Pixar Animation Studio Pai do Texture Mapping (Ph.D. thesis of 1974.) http://www.youtube.com/watch? v=iizL2iCMe28&feature=player_embedde
  • 18. Algorítmo Z-bufferAlgorítmo Z-buffer Criado por Edwin Catmull em 1974 Procedimento de preenchimento de polígonos (scan-line Z-Buffer): ◦ Z-Buffer e scan-line Z-Buffer faz a varredura do polígono a ser exibido, linha a linha.
  • 19. Algorítmo Z-bufferAlgorítmo Z-buffer Dois buffers : ◦ Color/frame Buffer (armazena cor atual de cada pixel); ◦ Z-Buffer - profundidade máxima (armazena para cada pixel, a profundidade do objeto mais próximo).
  • 20. Algorítmo Z-bufferAlgorítmo Z-buffer Conjunto de pares (x, y) com o valor de z mais próximo do ponto de visão OpenGL (Hardware/Software) Exige memória Desempenho constante Não trata transparência facilmente (precisaria guardar informação sobre polígonos parcialmente cobertos)
  • 22. Algorítmo Z-bufferAlgorítmo Z-buffer Lista of polígonos {P1, P2, ..., Pn} Matriz z-buffer[x,y] inicializado com -8 Matriz Intensidade[x,y] Início para cada polígono P na lista de polígonos faça { para cada pixel (x,y) que intercepta P faça { calcule profundidade-z de P na posição (x,y) se prof-z < z-buffer[x,y] então { Intensidade[x,y] = intensidade de P em (x,y) z-buffer[x,y] = prof-z } } } Desenhe Intensidade fim
  • 24. Árvores BSPÁrvores BSP Henry Fuchs, Zvi Kedem and Bruce Naylor Schumacker, Brand, Gilliland and Sharp Z-buffer não existia
  • 25. Árvores BSPÁrvores BSP BSP = Binary Space-Partitioning (Partição Binária do Espaço) Criada por Fuchs, Kedem e Naylor em 1980 Permite a ordenação correta dos segmentos de retas, ou polígonos, a partir de qualquer ponto de visão
  • 26. Árvores BSPÁrvores BSP Fornece ordem de renderização Determina parte visível / escondida de polígonos (DOOM) Planos de corte Ordem back to front
  • 32. Gabriel Estimado PozaGabriel Estimado Poza José Arthur Vigilante MartinsJosé Arthur Vigilante Martins Marina Ikeda UshiroMarina Ikeda Ushiro Jogos DigitaisJogos Digitais 4º Semestre4º Semestre