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

O vértice da parábola da função do 2 grau
O vértice da parábola da função do 2 grauO vértice da parábola da função do 2 grau
O vértice da parábola da função do 2 grau
Newton Sérgio Lima
 
Geometria espacial i - EXERCÍCIOS RESOLVIDOS
Geometria espacial   i - EXERCÍCIOS RESOLVIDOSGeometria espacial   i - EXERCÍCIOS RESOLVIDOS
Geometria espacial i - EXERCÍCIOS RESOLVIDOS
Celso do Rozário Brasil Gonçalves
 
Aula 01 limites e continuidade
Aula 01   limites e continuidadeAula 01   limites e continuidade
Cálculo 1 - Limites
Cálculo 1 - LimitesCálculo 1 - Limites
Cálculo 1 - Limites
Amanda Saito
 
Aula 07 derivadas - regras de derivação - parte 1
Aula 07   derivadas - regras de derivação - parte 1Aula 07   derivadas - regras de derivação - parte 1
Minicurso Prolog
Minicurso PrologMinicurso Prolog
Minicurso Prolog
Luís Adelmo Barbosa Leite
 
Estudo da Esfera - Geometria Espacial
Estudo da Esfera - Geometria EspacialEstudo da Esfera - Geometria Espacial
Estudo da Esfera - Geometria Espacial
Eustáquio Morais
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
fabiocerqueira
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Cálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesCálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funções
Rodolfo Almeida
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - Apresentação
Leinylson Fontinele
 
Mini-Curso: gnuplot
Mini-Curso: gnuplotMini-Curso: gnuplot
Mini-Curso: gnuplot
Antonio Soares
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
Manoel Afonso
 
Dinâmica
DinâmicaDinâmica
Trigonometria e funções trigonométricas
Trigonometria  e funções trigonométricasTrigonometria  e funções trigonométricas
Trigonometria e funções trigonométricas
Rosana Santos Quirino
 
Logaritmo
LogaritmoLogaritmo
Logaritmo
Marluci Galindo
 
Eletricidade 2.ppt
Eletricidade 2.pptEletricidade 2.ppt
Eletricidade 2.ppt
MarcioCarrera1
 
Aula 05 derivadas - conceitos iniciais
Aula 05   derivadas - conceitos iniciaisAula 05   derivadas - conceitos iniciais
Geometria analítica,,
Geometria analítica,,Geometria analítica,,
Geometria analítica,,
Meire Souza
 

Mais procurados (20)

O vértice da parábola da função do 2 grau
O vértice da parábola da função do 2 grauO vértice da parábola da função do 2 grau
O vértice da parábola da função do 2 grau
 
Geometria espacial i - EXERCÍCIOS RESOLVIDOS
Geometria espacial   i - EXERCÍCIOS RESOLVIDOSGeometria espacial   i - EXERCÍCIOS RESOLVIDOS
Geometria espacial i - EXERCÍCIOS RESOLVIDOS
 
Aula 01 limites e continuidade
Aula 01   limites e continuidadeAula 01   limites e continuidade
Aula 01 limites e continuidade
 
Cálculo 1 - Limites
Cálculo 1 - LimitesCálculo 1 - Limites
Cálculo 1 - Limites
 
Aula 07 derivadas - regras de derivação - parte 1
Aula 07   derivadas - regras de derivação - parte 1Aula 07   derivadas - regras de derivação - parte 1
Aula 07 derivadas - regras de derivação - parte 1
 
Minicurso Prolog
Minicurso PrologMinicurso Prolog
Minicurso Prolog
 
Estudo da Esfera - Geometria Espacial
Estudo da Esfera - Geometria EspacialEstudo da Esfera - Geometria Espacial
Estudo da Esfera - Geometria Espacial
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Cálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesCálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funções
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - Apresentação
 
Mini-Curso: gnuplot
Mini-Curso: gnuplotMini-Curso: gnuplot
Mini-Curso: gnuplot
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
Dinâmica
DinâmicaDinâmica
Dinâmica
 
Trigonometria e funções trigonométricas
Trigonometria  e funções trigonométricasTrigonometria  e funções trigonométricas
Trigonometria e funções trigonométricas
 
Logaritmo
LogaritmoLogaritmo
Logaritmo
 
Eletricidade 2.ppt
Eletricidade 2.pptEletricidade 2.ppt
Eletricidade 2.ppt
 
Aula 05 derivadas - conceitos iniciais
Aula 05   derivadas - conceitos iniciaisAula 05   derivadas - conceitos iniciais
Aula 05 derivadas - conceitos iniciais
 
Geometria analítica,,
Geometria analítica,,Geometria analítica,,
Geometria analítica,,
 

Destaque

Aula19 visibilidade
Aula19 visibilidadeAula19 visibilidade
Aula19 visibilidade
Paulo 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 VHDL
Brito Filho
 
Métodos de Tonalização
Métodos de TonalizaçãoMétodos de Tonalização
Métodos de Tonalização
Jogos Digitais, PUC - SP
 
Lógica parte 1 - Introdução
Lógica   parte 1 - IntroduçãoLógica   parte 1 - Introdução
Lógica parte 1 - Introdução
Wallison Parreira
 
Campus Party - Computer Vision
Campus Party - Computer VisionCampus Party - Computer Vision
Campus Party - Computer Vision
dannyxyz22
 
Algoritmos aproximativos
Algoritmos aproximativosAlgoritmos aproximativos
Algoritmos aproximativos
Fernando Simeone
 
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
 
Testes Lógicos
Testes LógicosTestes Lógicos
Testes Lógicos
Edwillian Maia
 
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
Alex Eduardo Ribeiro
 
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
Fundação de Economia e Estatística
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
diogoa21
 
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
Rogerio P C do Nascimento
 
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 Python
Giancarlo 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 Completo
thomasdacosta
 
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
Pacc 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 Algoritmos
Elaine 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ção
rodfernandes
 
Slideshare
SlideshareSlideshare

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 winplot
Franbfk
 
camera-e-viewing.pdf
camera-e-viewing.pdfcamera-e-viewing.pdf
camera-e-viewing.pdf
MiltonAmaral2
 
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 1
Luiz Avelar
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
Carlos Duarte do Nascimento
 
Apostila de autcad
Apostila de autcadApostila de autcad
Apostila de autcad
Juliano Oliveira
 
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
Francisco Arlindo Alves
 
Usando o winplot
Usando o winplotUsando o winplot
Usando o winplot
Valerio Vava
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
Campus Party Brasil
 
Game programming
Game programmingGame programming
Game programming
Fabio Fonseca
 
Apostila auto cad_semana_engenharia
Apostila auto cad_semana_engenhariaApostila auto cad_semana_engenharia
Apostila auto cad_semana_engenharia
Rayovac
 
Tutorial slide
Tutorial slideTutorial slide
Tutorial slide
Lucas Sales
 
Algoritmo Z-Buffer e Árvores BSP
Algoritmo Z-Buffer e Árvores BSPAlgoritmo Z-Buffer e Árvores BSP
Algoritmo Z-Buffer e Árvores BSP
Jogos Digitais, PUC - SP
 
Utilizandoo winplot
Utilizandoo winplotUtilizandoo winplot
Utilizandoo winplot
Walquíria Lins
 
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
Eloi Júnior
 
Apostila de dicas
Apostila de dicasApostila de dicas
Apostila de dicas
Luciano Dos Santos Baracho
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10
Nauber Gois
 
DOC-20220831.pptx
DOC-20220831.pptxDOC-20220831.pptx
DOC-20220831.pptx
ErickSitoe
 
(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
 
Game programming
Game programmingGame programming
Game programming
Fabio Fonseca
 

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 phones
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
 
"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
 
Workshops de Unity
Workshops de UnityWorkshops de Unity
Workshops de Unity
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 KDE
Jogos Digitais, PUC - SP
 
Ray Tracing
Ray TracingRay 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
Jogos 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
 
Mapeamento de Textura
Mapeamento de TexturaMapeamento de Textura
Mapeamento de Textura
Jogos Digitais, PUC - SP
 
Rendering e Placas Graficas
Rendering e Placas GraficasRendering e Placas Graficas
Rendering e Placas Graficas
Jogos Digitais, PUC - SP
 
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
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 Control
Jogos Digitais, PUC - SP
 
Pesquisa em Games
Pesquisa em GamesPesquisa em Games
Pesquisa em Games
Jogos Digitais, PUC - SP
 
Templates para roteiro
Templates para roteiroTemplates para roteiro
Templates para roteiro
Jogos Digitais, PUC - SP
 
Mini-curso XNA
Mini-curso XNAMini-curso XNA
Mini-curso XNA
Jogos Digitais, PUC - SP
 
Game Engine Unity 3D | Workshop
Game Engine Unity 3D | WorkshopGame Engine Unity 3D | Workshop
Game Engine Unity 3D | Workshop
Jogos Digitais, PUC - SP
 
Roteiro para Games
Roteiro para GamesRoteiro para Games
Roteiro para Games
Jogos 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 Brasil
Jogos Digitais, PUC - SP
 
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
Jogos 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 jogos
Jogos 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
 

Último

Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 

Último (6)

Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 

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