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

Mais procurados

Exercícios comentados de interpretação textual
Exercícios comentados de interpretação textualExercícios comentados de interpretação textual
Exercícios comentados de interpretação textualSeduc/AM
 
Simbolismo e Baudelaire
Simbolismo e BaudelaireSimbolismo e Baudelaire
Simbolismo e BaudelaireDon Veneziani
 
introdução aos estudos da Literatura
introdução aos estudos da Literaturaintrodução aos estudos da Literatura
introdução aos estudos da Literaturaelenir duarte dias
 
Dona guidinha do poço
Dona guidinha do poçoDona guidinha do poço
Dona guidinha do poçoRayan Gomes
 
Análise do conto cega rega
Análise do conto cega regaAnálise do conto cega rega
Análise do conto cega regaLurdes Ferreira
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10OutSystems
 
Gênero Canção - Marta Portante Tardem
Gênero Canção - Marta Portante TardemGênero Canção - Marta Portante Tardem
Gênero Canção - Marta Portante Tardemandretardem
 
Questões de português enem
Questões de português enemQuestões de português enem
Questões de português enemneocontextual
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Amazon Web Services
 
Conectivos, inglês, Sartre Coc, terceiro ano, pré-vestibular
Conectivos, inglês, Sartre Coc, terceiro ano, pré-vestibularConectivos, inglês, Sartre Coc, terceiro ano, pré-vestibular
Conectivos, inglês, Sartre Coc, terceiro ano, pré-vestibularluiseagle
 
Questões sobre canção do africano
Questões sobre canção do africanoQuestões sobre canção do africano
Questões sobre canção do africanoma.no.el.ne.ves
 
Função dos textos motivadores
Função dos textos motivadoresFunção dos textos motivadores
Função dos textos motivadoresRayane Roale
 
Auto da barca argumentos
Auto da barca   argumentosAuto da barca   argumentos
Auto da barca argumentosWilliam Ferraz
 
A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe...
 A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe... A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe...
A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe...Vanessa Aparecida R Anastacio
 
Modal Verbs should, must, may, can (advice, warning, possibility).ppt
Modal Verbs should, must, may, can (advice, warning, possibility).pptModal Verbs should, must, may, can (advice, warning, possibility).ppt
Modal Verbs should, must, may, can (advice, warning, possibility).pptInsCortes4
 
Tema 20 verbos modais modal verbs
Tema 20 verbos modais modal verbsTema 20 verbos modais modal verbs
Tema 20 verbos modais modal verbsFábio Souza
 
Trovadorismo humanismo
Trovadorismo humanismoTrovadorismo humanismo
Trovadorismo humanismoJosi Motta
 

Mais procurados (20)

Exercícios comentados de interpretação textual
Exercícios comentados de interpretação textualExercícios comentados de interpretação textual
Exercícios comentados de interpretação textual
 
Simbolismo e Baudelaire
Simbolismo e BaudelaireSimbolismo e Baudelaire
Simbolismo e Baudelaire
 
introdução aos estudos da Literatura
introdução aos estudos da Literaturaintrodução aos estudos da Literatura
introdução aos estudos da Literatura
 
Dona guidinha do poço
Dona guidinha do poçoDona guidinha do poço
Dona guidinha do poço
 
Análise do conto cega rega
Análise do conto cega regaAnálise do conto cega rega
Análise do conto cega rega
 
Barroco aula
Barroco aulaBarroco aula
Barroco aula
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10
 
Gênero Canção - Marta Portante Tardem
Gênero Canção - Marta Portante TardemGênero Canção - Marta Portante Tardem
Gênero Canção - Marta Portante Tardem
 
Análise de o alienista
Análise de o alienistaAnálise de o alienista
Análise de o alienista
 
Questões de português enem
Questões de português enemQuestões de português enem
Questões de português enem
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
 
Conectivos, inglês, Sartre Coc, terceiro ano, pré-vestibular
Conectivos, inglês, Sartre Coc, terceiro ano, pré-vestibularConectivos, inglês, Sartre Coc, terceiro ano, pré-vestibular
Conectivos, inglês, Sartre Coc, terceiro ano, pré-vestibular
 
Questões sobre canção do africano
Questões sobre canção do africanoQuestões sobre canção do africano
Questões sobre canção do africano
 
Função dos textos motivadores
Função dos textos motivadoresFunção dos textos motivadores
Função dos textos motivadores
 
Auto da barca argumentos
Auto da barca   argumentosAuto da barca   argumentos
Auto da barca argumentos
 
A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe...
 A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe... A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe...
A-construcao-parodica-–-biblica-na-obra-a-paixao-segundo-gh-de-clarice-lispe...
 
Modal Verbs should, must, may, can (advice, warning, possibility).ppt
Modal Verbs should, must, may, can (advice, warning, possibility).pptModal Verbs should, must, may, can (advice, warning, possibility).ppt
Modal Verbs should, must, may, can (advice, warning, possibility).ppt
 
João Guimarães Rosa
João Guimarães RosaJoão Guimarães Rosa
João Guimarães Rosa
 
Tema 20 verbos modais modal verbs
Tema 20 verbos modais modal verbsTema 20 verbos modais modal verbs
Tema 20 verbos modais modal verbs
 
Trovadorismo humanismo
Trovadorismo humanismoTrovadorismo humanismo
Trovadorismo humanismo
 

Destaque

Aula19 visibilidade
Aula19 visibilidadeAula19 visibilidade
Aula19 visibilidadePaulo Rijo
 
Prototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLPrototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLBrito Filho
 
Lógica parte 1 - Introdução
Lógica   parte 1 - IntroduçãoLógica   parte 1 - Introdução
Lógica parte 1 - IntroduçãoWallison Parreira
 
Campus Party - Computer Vision
Campus Party - Computer VisionCampus Party - Computer Vision
Campus Party - Computer Visiondannyxyz22
 
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...Rodrigo Ferreira
 
Artefatos Na Imagem Ressonância Magnética
Artefatos Na Imagem Ressonância MagnéticaArtefatos Na Imagem Ressonância Magnética
Artefatos Na Imagem Ressonância MagnéticaAlex Eduardo Ribeiro
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
 
Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Ricardo Terra
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Pacc UAB
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 

Destaque (20)

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

Semelhante a Eliminação de Superfícies Escondidas

Manual winplot
Manual winplotManual winplot
Manual winplotFranbfk
 
camera-e-viewing.pdf
camera-e-viewing.pdfcamera-e-viewing.pdf
camera-e-viewing.pdfMiltonAmaral2
 
Estudo de Funções com o Software Winplot
Estudo de Funções com o Software Winplot Estudo de Funções com o Software Winplot
Estudo de Funções com o Software Winplot Rodrigo Romais
 
Apostila Auto Cad de Comandos Básicos 1
Apostila Auto Cad de Comandos Básicos 1Apostila Auto Cad de Comandos Básicos 1
Apostila Auto Cad de Comandos Básicos 1Luiz Avelar
 
Games 2D com a ferramenta Scratch por Francisco Arlindo Alves
Games 2D com a ferramenta Scratch por Francisco Arlindo AlvesGames 2D com a ferramenta Scratch por Francisco Arlindo Alves
Games 2D com a ferramenta Scratch por Francisco Arlindo AlvesFrancisco Arlindo Alves
 
Apostila auto cad_semana_engenharia
Apostila auto cad_semana_engenhariaApostila auto cad_semana_engenharia
Apostila auto cad_semana_engenhariaRayovac
 
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
Portando app JavaME S40 para C# WP7:  Um estudo de caso real da app CalcSpherePortando app JavaME S40 para C# WP7:  Um estudo de caso real da app CalcSphere
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphereEloi Júnior
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10Nauber Gois
 
DOC-20220831.pptx
DOC-20220831.pptxDOC-20220831.pptx
DOC-20220831.pptxErickSitoe
 
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...Danilo J. S. Bellini
 

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

Manual winplot
Manual winplotManual winplot
Manual winplot
 
camera-e-viewing.pdf
camera-e-viewing.pdfcamera-e-viewing.pdf
camera-e-viewing.pdf
 
Estudo de Funções com o Software Winplot
Estudo de Funções com o Software Winplot Estudo de Funções com o Software Winplot
Estudo de Funções com o Software Winplot
 
Apostila Auto Cad de Comandos Básicos 1
Apostila Auto Cad de Comandos Básicos 1Apostila Auto Cad de Comandos Básicos 1
Apostila Auto Cad de Comandos Básicos 1
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
 
Apostila de autcad
Apostila de autcadApostila de autcad
Apostila de autcad
 
Games 2D com a ferramenta Scratch por Francisco Arlindo Alves
Games 2D com a ferramenta Scratch por Francisco Arlindo AlvesGames 2D com a ferramenta Scratch por Francisco Arlindo Alves
Games 2D com a ferramenta Scratch por Francisco Arlindo Alves
 
Usando o winplot
Usando o winplotUsando o winplot
Usando o winplot
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
 
Game programming
Game programmingGame programming
Game programming
 
Apostila auto cad_semana_engenharia
Apostila auto cad_semana_engenhariaApostila auto cad_semana_engenharia
Apostila auto cad_semana_engenharia
 
Tutorial slide
Tutorial slideTutorial slide
Tutorial slide
 
Algoritmo Z-Buffer e Árvores BSP
Algoritmo Z-Buffer e Árvores BSPAlgoritmo Z-Buffer e Árvores BSP
Algoritmo Z-Buffer e Árvores BSP
 
Utilizandoo winplot
Utilizandoo winplotUtilizandoo winplot
Utilizandoo winplot
 
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
Portando app JavaME S40 para C# WP7:  Um estudo de caso real da app CalcSpherePortando app JavaME S40 para C# WP7:  Um estudo de caso real da app CalcSphere
Portando app JavaME S40 para C# WP7: Um estudo de caso real da app CalcSphere
 
Apostila de dicas
Apostila de dicasApostila de dicas
Apostila de dicas
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10
 
DOC-20220831.pptx
DOC-20220831.pptxDOC-20220831.pptx
DOC-20220831.pptx
 
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...
 
Game programming
Game programmingGame programming
Game programming
 

Mais de Jogos Digitais, PUC - SP

Desenvolvimento de jogos para smart phones
Desenvolvimento de jogos para smart phonesDesenvolvimento de jogos para smart phones
Desenvolvimento de jogos para smart phonesJogos Digitais, PUC - SP
 
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia""Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia"Jogos Digitais, PUC - SP
 
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia""Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia"Jogos Digitais, PUC - SP
 
Games Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEGames Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEJogos Digitais, PUC - SP
 
Problemas na produção de jogos - Bounty Hunters
Problemas na produção de jogos - Bounty HuntersProblemas na produção de jogos - Bounty Hunters
Problemas na produção de jogos - Bounty HuntersJogos Digitais, PUC - SP
 
Problemas na produção de jogos - Projeto Vates (Conceitual)
Problemas na produção de jogos - Projeto Vates (Conceitual)Problemas na produção de jogos - Projeto Vates (Conceitual)
Problemas na produção de jogos - Projeto Vates (Conceitual)Jogos Digitais, PUC - SP
 
Problemas na produção de jogos - Dirty Control
Problemas na produção de jogos - Dirty ControlProblemas na produção de jogos - Dirty Control
Problemas na produção de jogos - Dirty ControlJogos Digitais, PUC - SP
 
Desmistificando o desenvolvimento de jogos no Brasil
Desmistificando o desenvolvimento de jogos no BrasilDesmistificando o desenvolvimento de jogos no Brasil
Desmistificando o desenvolvimento de jogos no BrasilJogos Digitais, PUC - SP
 
As múltiplas faces de um desenvolvedor de jogos
As múltiplas faces de um desenvolvedor de jogosAs múltiplas faces de um desenvolvedor de jogos
As múltiplas faces de um desenvolvedor de jogosJogos Digitais, PUC - SP
 

Mais de Jogos Digitais, PUC - SP (20)

Desenvolvimento de jogos para smart phones
Desenvolvimento de jogos para smart phonesDesenvolvimento de jogos para smart phones
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""Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
 
"Do Joystick ao Peão – O que acontece nas mesas da luderia"
"Do Joystick ao Peão – O que acontece nas mesas da luderia""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
Workshops de UnityWorkshops de Unity
Workshops de Unity
 
Games Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEGames Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDE
 
Ray Tracing
Ray TracingRay Tracing
Ray Tracing
 
Problemas na produção de jogos - Bounty Hunters
Problemas na produção de jogos - Bounty HuntersProblemas na produção de jogos - Bounty Hunters
Problemas na produção de jogos - Bounty Hunters
 
Problemas na produção de jogos - Projeto Vates (Conceitual)
Problemas na produção de jogos - Projeto Vates (Conceitual)Problemas na produção de jogos - Projeto Vates (Conceitual)
Problemas na produção de jogos - Projeto Vates (Conceitual)
 
Mapeamento de Textura
Mapeamento de TexturaMapeamento de Textura
Mapeamento de Textura
 
Rendering e Placas Graficas
Rendering e Placas GraficasRendering e Placas Graficas
Rendering e Placas Graficas
 
Modelos de Iluminação e Reflexão
Modelos de Iluminação e ReflexãoModelos de Iluminação e Reflexão
Modelos de Iluminação e Reflexão
 
Problemas na produção de jogos - Dirty Control
Problemas na produção de jogos - Dirty ControlProblemas na produção de jogos - Dirty Control
Problemas na produção de jogos - Dirty Control
 
Pesquisa em Games
Pesquisa em GamesPesquisa em Games
Pesquisa em Games
 
Templates para roteiro
Templates para roteiroTemplates para roteiro
Templates para roteiro
 
Mini-curso XNA
Mini-curso XNAMini-curso XNA
Mini-curso XNA
 
Game Engine Unity 3D | Workshop
Game Engine Unity 3D | WorkshopGame Engine Unity 3D | Workshop
Game Engine Unity 3D | Workshop
 
Roteiro para Games
Roteiro para GamesRoteiro para Games
Roteiro para Games
 
Desmistificando o desenvolvimento de jogos no Brasil
Desmistificando o desenvolvimento de jogos no BrasilDesmistificando o desenvolvimento de jogos no Brasil
Desmistificando o desenvolvimento de jogos no Brasil
 
Games: uma mídia de expressão
Games: uma mídia de expressãoGames: uma mídia de expressão
Games: uma mídia de expressão
 
As múltiplas faces de um desenvolvedor de jogos
As múltiplas faces de um desenvolvedor de jogosAs múltiplas faces de um desenvolvedor de jogos
As múltiplas faces de um desenvolvedor de jogos
 

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