Remoção de Superfícies Escondidas
|
|
|
- Marta Castanho Graça
- 7 Há anos
- Visualizações:
Transcrição
1 INF 66 Computação Gráfica Interativa Eliminação de Superfícies Escondidas; Anti-Aliasing Alberto B. Raposo Remoção de Superfícies Escondidas Dado conjunto de polígonos, qual é visível em cada pixel (quem está na frente, etc.)? Há muitos algoritmos diferentes para isso. grandes classes: Precisão de objeto: computação opera nas primitivas Precisão de imagem: computação opera no nível do pixel Pode-se operar em qualquer espaço do pipeline de visualização, pois todos eles mantêm a informação de profundidade Sequência de transformações do OpenGL
2 Remoção de Superfícies Escondidas (Visibilidade) Determinar a visibilidade dos polígonos antes de enviá-los para placa gráfica (culling): Back face culling; View frustum culling; Occlusion Culling; Célula / Portal. Desafios Eficiência perde-se tempo sobrescrevendo pixels ou rasterizando coisas que não podem ser visualizadas Precisão resultado precisa ser correto e se comportar corretamente quando a câmera se move Em ambientes complexos, poucas coisas são visíveis Quanto do mundo real é visto a cada instante?
3 Algoritmo do Pintor (Precisão de Imagem) Algoritmo: Escolha uma ordenação para os polígonos baseada em algum critério (e.g. profundidade de um ponto do polígono) Renderize os polígonos nessa ordem, o mais distante primeiro Polígonos mais próximos são desenhados sobre os mais distantes Algoritmo do Pintor profundidade z M. Gattass, PUC-Rio
4 Problemas na ordenação de faces (b) (a) + + z a z b M. Gattass, PUC-Rio Algoritmo do Pintor Dificuldade: Se usado dessa forma, não funciona bem na maioria das geometrias Precisa de melhores maneiras de fazer a ordenação dos polígonos Situações em que não funciona z s Que ponto escolher para a ordenação? x s 4
5 Algoritmo Z-buffer (Precisão de Imagem) Para cada pixel do display, tenha pelo menos buffers Color buffer: Armazena a cor atual de cada pixel (o que será realmente mostrado) Z-Buffer (ou depth buffer): armazena, para cada pixel, a profundidade do objeto mais próximo até então, a ser desenhado naquele pixel Inicialize o Z-buffer com um valor correspondente ao valor de Z mais distante visível (Z max ) À medida que um polígono é preenchido, compute a profundidade de cada pixel a ser preenchido If: profundidade < profundidade armazenada no z-buffer, preencha o pixel e armazene essa profundidade no z-buffer Else: desconsidere o pixel (está atrás de algo que já foi desenhado). Z-Buffer: idéia básica z MATRIZ DE PROFUNDIDADES M. Gattass, PUC-Rio 5
6 Z-buffer Vantagens: Simples e hoje em dia implementado em hardware O z-buffer é parte do que faz uma placa gráfica ser D Computar as profundidades necessárias é simples Desvantagens: Over-renders pouco eficiente quando há grande número de polígonos Não trata transparência facilmente (precisaria guardar informação sobre polígonos parcialmente cobertos) Algoritmo A-buffer (Precisão de Imagem) Lida com superfícies transparentes e faz anti-aliasing Em cada pixel, mantenha um ponteiro para lista de polígonos ordenado por profundidade e uma máscara de cobertura de sub-pixels para cada polígono Matriz de bits dizendo que partes do pixel está coberta Algoritmo: ao desenhar um pixel: If: polígono é opaco e cobre o pixel, inserir na lista, removendo todos os polígonos mais distantes If: polígono é transparente ou cobre apenas parte do pixel, inserir na lista, mas sem remover polígonos mais distantes 6
7 Algoritmo A-buffer Algoritmo: etapa de rendering A cada pixel, percorra o buffer usando as cores dos polígonos e as máscaras de cobertura para fazer a composição: sobre = Vantagem: Pode fazer mais que o Z-buffer Conceito de máscara de visibilidade pode ser usado em outros algoritmos Desvantagens: Não está em hardware, e é lento em software No fundo, é z-buffer: mesmo problema de over-rendering Porém: usado em ferramentas de renderização de alta qualidade Subdivisão de Áreas Explora a coerência de área: pequenas áreas de uma imagem tendem a ser cobertas por apenas um polígono Três casos triviais para determinar o que está na frente em uma região:. Um polígono está completamente à frente de qualquer coisanaregião. Não há superfícies projetadas na região. Apenas uma superfície está completamente dentro da região, a corta, ou envolve a região 7
8 Subdivisão de Áreas: Algoritmo de Warnock (Precisão de Imagem) Comece com imagem completa Se um dos casos triviais ocorre, desenhe o que está na frente Caso contrário, subdivida a região recursivamente Se região chegou ao tamanho do pixel, escolha superfície com menor profundidade Vantagens: Não ocorre over-rendering Bom anti-aliasing: basta fazer mais uma subdivisão para obter informação de sub-pixel Desvantagem: Testes são complexos e lentos Algoritmo de Warnock Casos na imagem ao lado: ) Um polígono à frente ) Vazia ) Um polígono dentro, ao redor ou cortando a área 8
9 BSP-Trees: Binary Space Partion Trees (Precisão de Objeto) Construção da bsp tree Árvore fornece ordem de renderização Árvore quebra o mundo D com planos Mundo é quebrado em células convexas Cada célula é a interseção de todos os meio-espaços dos planos de quebra na árvore Também usada em modelagem: Nem sempre quando se fala em BSP se refere a este algoritmo Exemplo: BSP-Tree C 4 A B - A + C B
10 Exemplo: BSP-Tree 5a 5b 4 frente 5a atrás 4 5b 5a 5b 4 frente frente atrás 5a atrás 4 5b 5a 5b 4 5a 4 5b M. Gattass, PUC-Rio Célula / Portal - Conceito Em um ambiente fechado, objetos presentes em quartos (células) distantes não podem ser vistos através das paredes (oclusores) e os objetos nos quartos adjacentes são vistos somente através das portas ou janelas (portais). 0
11 Exemplo: Célula-Portal View Exemplo: Célula-Portal View
12 Exemplo: Célula-Portal View Exemplo: Célula-Portal View
13 Cell-Portal Example (5) View Exemplo: Célula-Portal View
14 Célula / Portal Pré-processamento O ambiente deve ser pré-processado para se obter as células e os portais: Uma forma de se obter essa divisão é através do cálculo de uma BSP-Tree ou uma k-d Tree; Cálculo da Visibilidade: Calcular o conjunto de objetos potencialmente visíveis (PVS): Teller / Séquin, Quake ; Não calcular o PVS: a determinação é feita dinamicamente - Luebke Portais Determinar o conjunto potencialmente visível: A célula onde está o observador mais todas as células adjacentes. Luebke e Georges: Montar o grafo de cena a partir da informação de conectividade; Percorrendo o grafo, determinar quais células estão visíveis; Adequado para implementação em grafos de cena: Performer / OpenSceneGraph 4
15 Grafo de Cena Resultados 5
16 Teste de Desempenho () O desempenho foi amostrado durante um percurso por vários cômodos do modelo -D de um apartamento; Testes realizados em um P4.54 GHz com GB de RAM e uma placa gráfica NVIDIA Quadro FX MB. Teste de Desempenho () Quadros por Segundo s/ Portais c/ Portais 9 6
17 Teste de Desempenho () Quadros por Segundo s/ Portais c/ Portais Teste de Desempenho (4) Quadros por Segundo s/ Portais c/ Portais
18 Propriedades: Células-Portais Vantagens Extremamente eficiente apenas olha para células que estão realmente visíveis: visibility culling Facilmente modificável para visibilidade parcial: renderiza células parcialmente visíveis e deixa z-buffer fazer o resto Faz espelhos: crie célula imaginária espelhada e considere o espelho como portal Desvantagens Restrito a ambientes com boa estrutura para células/portais (ambientes fechados) Anti-Aliasing 8
19 Aliasing ACM SIGGRAPH Educator s Slide Set Ocorre quando a amostragem inerente à renderização não tem informação suficiente para uma imagem precisa. Cena original Amostragem do centro dos pixels Imagem renderizada Luminosidade Sinal amostrado Luminosidade reconstruída Efeitos de Aliasing Jagged Edges (serrilhado) Perda de detalhes ACM SIGGRAPH Educator s Slide Set 9
20 Desintegração de Textura O xadrez deveria ficar menor com a distância Aliasing os torna maiores ou irregulares ACM SIGGRAPH Educator s Slide Set Anti-Aliasing Algoritmos e técnicas desenvolvidos para combater os efeitos de aliasing 0
21 Anti-Aliasing Linhas desenahdas com algoritmo de Bresenham e polígonos preenchidos possuem bordas serrilhadas Como consertar? Anti-Aliasing Duas abordagens gerais Amostragem por área (ou pré-filtragem): considera as primitivas amostradas como caixa (região) (ou Gaussiana, ou ) ao invés de linhas Requer primitivas com área (linhas com largura) Super-amostragem (ou pós-filtragem): amostra em resolução maior, filtrando depois a imagem resultante Este é o anti-aliasing mais usado em hardware
22 Pré-filtragem Sem Anti-aliasing Pré-filtragem ACM SIGGRAPH Educator s Slide Set Unweighted Area Sampling Técnica de pós-filtragem Considere uma linha como tendo largura Considere pixels como pequenos quadrados Preencha os pixels de acordo com a proporção do seu quadrado coberto pela linha (intensidade de cor) / /4.94 /8 0 /4.94 /4 0 /8.94 / /
23 Super-amostragem (pós-filtragem) Amostre em resolução maior que a necessária para o display e depois filtre a imagem Típico: 4 a 6 amostras por pixel S Amostras podem ser em grade uniforme, ou randomicamente posicionadas Exemplos de Anti-aliasing ACM SIGGRAPH Educator s Slide Set
24 Exemplos de Anti-aliasing ACM SIGGRAPH Educator s Slide Set Exemplos de Anti-aliasing ACM SIGGRAPH Educator s Slide Set 4
25 Weighted Sampling Ao invés de usar a proporção da área coberta pela linha, use convolução para fazer a amostragem Equivalente a pré-filtrar a linha e amostrar o resultado Coloque o filtro em cada pixel e integre o produto do pixel com a linha Exemplo de filtro: Informações Adicionais Peter Shirley. Fundamentals of Computer Graphics, A K Peters, Ltd., Natick, MA, USA, 00. Foley, J. D., Van Dam, A., Feiner, S. K., e Huhes, J. F., Phlips, L. R., Introduction to Computer Graphics, Addison-Wesley, 995. D. F. Rogers, Procedural Elements for Computer Graphics, McGraw-Hill, 988. Marcelo Gattass: notas de aula. Portais: Silva, R. J. M., Wagner, G. N., Raposo, A. B., Gattass, M. Experiência de Portais em Ambientes Arquitetônicos Virtuais. VI Symposium on Virtual Reality - SVR 00, p.7-8. Ribeirão Preto, SP, Brazil
Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas
Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Júlio Kiyoshi Hasegawa 26 Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Introdução Linhas e superfícies
Determinação de Superfícies Visíveis
Determinação de Superfícies Visíveis 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1 Raytracing O raytracing automaticamente incorpora a determinação de superfícies visíveis na sua execução
Computação Gráfica e Áreas Correlatas
INF 1366 Computação Gráfica Interativa Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/inf1366 Computação Gráfica e Áreas Correlatas processamento de imagens Imagem
Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.
Determinação de Superfícies Visíveis M.C.F. de Oliveira Fontes: Hearn & Baker, Cap. 9 Curso CG, University of Leeds (Ken Brodlie): http://www.comp.leeds.ac.uk/kwb/gi21/lectures.html Rendering de Polígonos
Introdução à Computação Gráfica Visibilidade. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Visibilidade Claudio Esperança Paulo Roma Cavalcanti O Problema de Visibilidade Numa cena tri-dimensional, normalmente, não é possível ver todas as superfícies de todos
Algoritmos de Visibilidade. Computação Gráfica Visibilidade. Backface Culling. Outras abordagens. Renato Ferreira
Algoritmos de Visibilidade Computação Gráfica Visibilidade Renato Ferreira Dado um conjunto de objetos em uma cena D, determinar o que precisa ser desenhado Visibilidade é um problema complexo w Duas abordagens
Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Visibilidade Edward Angel, Cap. 7 Apontamentos CG Pipeline de Visualização 3D Pipeline de Visualização 3D LEIC CG Sombreamento
Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Ênfase na parte prática Avaliação através de trabalhos de implementação C / C++ OpenGL c/ GLUT Grau (nota) baseado
Pipeline de Visualização 3D
Pipeline de Visualização 3D André Tavares da Silva [email protected] Capítulo 5 de Foley Capítulo 2 de Azevedo e Conci Processo de Visualização https://www.youtube.com/watch?v=ogqam2mykng Processo de
Resumo. Ray Tracing. Introdução. Ray Casting Básico. Idéia
Resumo Leandro Paganotti Brazil Danilo Medeiros Eler Rosane Minghim Computação Gráfica ICMC USP 2010 Introdução Ray Casting Básico Intersecção Raio-Cena Caminhos de Reflexão e Refração Ray-Tracing Tree
O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira
O Problema de Visibilidade Computação Gráfica Recorte Renato Ferreira Numa cena tri-dimensional, normalmente não é possível ver todas as superfícies de todos os objetos Queremos descartar objetos ou partes
Computação Gráfica. Representação e Modelagem
Computação Gráfica Representação e Modelagem Professora: Sheila Cáceres Baseado nos slides da Prof. Soraia Musse Modelagem Área da Computação Gráfica que estuda a criação de modelos dos objetos reais.
2 Algoritmos de Visibilidade
2 Algoritmos de Visibilidade Este capítulo vai fazer uma rápida revisão em cima dos principais algoritmos de determinação de visibilidade, classificando-os segundo [14]. Também será identificada no pipeline
Ray Tracing (Traçado de Raios)
INF 1366 Computação Gráfica Interativa Ray Tracing (Traçado de Raios) Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/inf1366/index.htm Ray Tracing / Ray Casting Como
Prof. Fernando V. Paulovich 25 de abril de SCC Computação Gráca
Determinação de Superfícies Visíveis SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC)
Computação Gráfica - 12
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 12 [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Realismo
Introdução à Computação Gráfica Visibilidade e Recorte
Introdução à Computação Gráfica Visibilidade e Recorte Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti O Problema de Visibilidade Numa cena tridimensional,
Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson
Modelagem Geométrica André Tavares da Silva [email protected] Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson Representações Decomposição Espacial Quadtrees Octrees BSPtree
Tópicos Especiais em Engenharia de Software (Jogos II)
Tópicos Especiais em Engenharia de Software (Jogos II) Aula 02 Iluminação, Materiais e Shaders Edirlei Soares de Lima Unity 3D: Graphics A Unity oferece diversos elementos para a
Ray Tracing / Ray Casting
INF 1366 Computação Gráfica Interativa Ray Tracing (Traçado de Raios) Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/inf1366/index.htm Ray Tracing / Ray Casting Como
Um Algoritmo para a Visualização de um Terreno com Objetos
Um Algoritmo para a Visualização de um Terreno com Objetos Flávio Szenberg Orientador: Marcelo Gattass Co-orientador: Paulo Cezar Pinto Carvalho Roteiro Motivação e objetivo da tese Trabalhos relacionados
Introdução ao Processamento e Síntese de imagens Recorte 2D
1 Introdução ao Processamento e Síntese de imagens Recorte 2D Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Traina, A. J. M. & Oliveira, M. C. F. (2004) 2016 2 Recorte - (Clipping) Numa
Objetos definidos no seu próprio sistema de coordenadas
Transformações Modelagem Iluminação (Shading) Transformação Câmera A história até aqui Recorte Projeção Rasterização Visibilidade Transformações Modelagem Iluminação (Shading) Transformação Câmera Recorte
Transformações 3D. Soraia Raupp Musse
Transformações 3D Soraia Raupp Musse 1 Transformações 3D Translação gltranslatef(dx, dy, dz) T(dx, dy, dz): 1 1 1 dz dy dx 2 Escala glscalef(sx, Sy, Sz) S(Sx, Sy, Sz): 1 1 Sz Sy Sx Transformações 3D Rotação
Computação Gráfica e Áreas Correlatas
INF 1366 Computação Gráfica Interativa Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/inf1366 Computação Gráfica e Áreas Correlatas processamento de imagens Imagem
Realismo Visual. Aula 11 UFF
Realismo Visual Aula 11 UFF - 2018 Objetivos Melhorar o entendimento das cenas e objetos criados Possibilidade de representação de dados, objetos e cenas complexas Realismo até o nível desejado da forma
Algoritmos de Recorte em 2D
Algoritmos de Recorte em 2D Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Conceito de Recorte (Clipping) Introdução Algoritmo simples (Força Bruta) Algoritmo de Cohen-Sutherland
Computação Gráfica Introdução
Computação Gráfica Introdução UniverCidade - Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - [email protected] 1 Considerações Gerais Objetivo: Discutir os principais conceitos eos
Computação Gráfica. Agostinho Brito. Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte
Computação Gráfica Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 30 de julho de 2015 O que é computação gráfica Entrada Saída IMAGEM MODELO
Pipeline Gráfico Cluter & Durand, MIT
INF 1366 Computação Gráfica Interativa Iluminação e Shading Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/inf1366/index.htm Modeling Transformations Illumination
Introdução à Computação Gráfica Aliasing e Ray Tracing Distribuído. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Aliasing e Ray Tracing Distribuído Claudio Esperança Paulo Roma Cavalcanti Aliasing É o nome que se dá ao efeito decorrente de se amostrar de forma insuficiente um sinal
António Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de
4 Impostores com Relevo
63 4 Impostores com Relevo I just wish... I wish I knew what I'm supposed to do. That's all. I just wish I knew. (The Matrix) 4.1 Introdução Os objetos modelados por texturas com relevo, por corrigirem
Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca
Dispositivos de Saída e SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica
Visão Geral Computaçã ção o Gráfica Introduçã ção, conceitos básicosb sicos, áreas relacionadas Introdução à Computação Gráfica Como funciona um sistema gráfico Como imagens são representadas Áreas relacionadas,
Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica
Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado
Lista de exercícios. 4) Defina o conceito de função de eficiência luminosa. (Victor)
Instituto de Computação Pós-graduação em Ciência da Computação Disciplina: Computação Gráfica 1 semestre de 2011. Prof.: Anselmo Montenegro Lista de exercícios Grupo I - Cores 1) Explique em detalhes o
Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real
Fundamentos de Computação Gráfica Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real Renato Deris Prado Tópicos principais 1. Introdução e Objetivos Sistemas de visualização em tempo
Visibilidade. Apontamentos CG + Edward Angel, Sec Instituto Superior Técnico Computação Gráfica 2009/2010
Visibilidade Apontamentos CG + Edward Angel, Sec. 7.11 Instituto Superior Técnico Computação Gráfica 2009/2010 1 Na últimas aulas Rasterização Discretização de linhas Preenchimento de polígonos Aliasing
Computação Gráfica. Computação Gráfica. Visão Geral. Sistema Gráfico. Introdução à Computação Gráfica e areas relacionadas
Visão Geral Computação Gráfica Cenário e Histórico Introdução à Computação Gráfica e areas relacionadas Histórico Aplicações Perfil da disciplina Bibliografia Maria Cristina F. de Oliveira Rosane Minghim
Introdução à Computação Gráfica Ray Tracing. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti Características Principais Tipicamente implementado em Software Combina um modelo de iluminação com determinação de visibilidade
Exame de Época Especial Computação Gráfica
Exame de Época Especial Computação Gráfica LEIC/MEIC Ano Lectivo de 2008/2009 Prof. João Brisson Lopes 9 de Setembro 2009 Nº Nome: Responda o mais completamente às seguintes questões justificando adequadamente
Computação Gráfica II
Computação Gráfica II Representação de Objetos Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Pipeline de visualização 3D 1 Representação dos objetos Aramada (Wire frame)
Engenharia Informática Computação Gráfica
Computação Gráfica 11569 - Engenharia Informática Gráficos 3D - Evolução Histórica Computação Gráfica 1 Sumário! Criação de Gráficos! Criação de Modelos 3D! Pipeline Gráfico! Hardware Gráfico! Bibliotecas
