A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Eliminação de Superfícies Escondidas; Anti-Aliasing e Imagens Digitais Alberto B. Raposo.

Apresentações semelhantes


Apresentação em tema: "Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Eliminação de Superfícies Escondidas; Anti-Aliasing e Imagens Digitais Alberto B. Raposo."— Transcrição da apresentação:

1 Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Eliminação de Superfícies Escondidas; Anti-Aliasing e Imagens Digitais Alberto B. Raposo

2 Alberto Raposo – PUC-Rio 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. 2 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

3 Alberto Raposo – PUC-Rio 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.

4 Alberto Raposo – PUC-Rio 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?

5 Alberto Raposo – PUC-Rio 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

6 Alberto Raposo – PUC-Rio Algoritmo do Pintor profundidade z M. Gattass, PUC-Rio

7 Alberto Raposo – PUC-Rio Problemas na ordenação de faces + + zaza zbzb (a) (b) M. Gattass, PUC-Rio

8 Alberto Raposo – 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 zszs xsxs Situações em que não funciona Que ponto escolher para a ordenação?

9 Alberto Raposo – PUC-Rio Algoritmo Z-buffer (Precisão de Imagem) Para cada pixel do display, tenha pelo menos 2 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). S. Chenney, Univ. of Wisconsin

10 Alberto Raposo – PUC-Rio Z-Buffer: idéia básica z MATRIZ DE PROFUNDIDADES M. Gattass, PUC-Rio

11 Alberto Raposo – PUC-Rio Z-buffer Vantagens: –Simples e hoje em dia implementado em hardware O z-buffer é parte do que faz uma placa gráfica ser 3D –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) S. Chenney, Univ. of Wisconsin

12 Alberto Raposo – PUC-Rio 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 S. Chenney, Univ. of Wisconsin

13 Alberto Raposo – PUC-Rio 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: 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 sobre = S. Chenney, Univ. of Wisconsin

14 Alberto Raposo – PUC-Rio 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: 1.Um polígono está completamente à frente de qualquer coisa na região 2.Não há superfícies projetadas na região 3.Apenas uma superfície está completamente dentro da região, a corta, ou envolve a região S. Chenney, Univ. of Wisconsin

15 Alberto Raposo – PUC-Rio Subdivisão de Áreas: Algoritmo de Warnock (Precisão de Imagem) Comece com imagem completa Se um dos 3 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 S. Chenney, Univ. of Wisconsin

16 Alberto Raposo – PUC-Rio Algoritmo de Warnock Casos na imagem ao lado: 1)Um polígono à frente 2)Vazia 3)Um polígono dentro, ao redor ou cortando a área S. Chenney, Univ. of Wisconsin

17 Alberto Raposo – PUC-Rio 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 3D 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 S. Chenney, Univ. of Wisconsin

18 Alberto Raposo – PUC-Rio Exemplo: BSP-Tree A C B A B C S. Chenney, Univ. of Wisconsin

19 Alberto Raposo – PUC-Rio Exemplo: BSP-Tree a 5b a 4 5b atrásfrente a 5b 3 4 5b atrásfrente 2 atrás 5a b 3 2 5a 1 4 5b M. Gattass, PUC-Rio

20 Alberto Raposo – 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).

21 Alberto Raposo – PUC-Rio Exemplo: Célula-Portal View S. Chenney, Univ. of Wisconsin

22 Alberto Raposo – PUC-Rio Exemplo: Célula-Portal View S. Chenney, Univ. of Wisconsin

23 Alberto Raposo – PUC-Rio Exemplo: Célula-Portal View S. Chenney, Univ. of Wisconsin

24 Alberto Raposo – PUC-Rio Exemplo: Célula-Portal View S. Chenney, Univ. of Wisconsin

25 Alberto Raposo – PUC-Rio Cell-Portal Example (5) View S. Chenney, Univ. of Wisconsin

26 Alberto Raposo – PUC-Rio Exemplo: Célula-Portal View S. Chenney, Univ. of Wisconsin

27 Alberto Raposo – PUC-Rio 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

28 Alberto Raposo – PUC-Rio 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

29 Alberto Raposo – PUC-Rio Grafo de Cena

30 Alberto Raposo – PUC-Rio Resultados

31 Alberto Raposo – PUC-Rio Teste de Desempenho (1) O desempenho foi amostrado durante um percurso por vários cômodos do modelo 3-D de um apartamento; Testes realizados em um P GHz com 3 GB de RAM e uma placa gráfica NVIDIA Quadro FX MB.

32 Alberto Raposo – PUC-Rio Teste de Desempenho (2) Quadros por Segundo s/ Portaisc/ Portais 39112

33 Alberto Raposo – PUC-Rio Teste de Desempenho (3) Quadros por Segundo s/ Portaisc/ Portais

34 Alberto Raposo – PUC-Rio Teste de Desempenho (4) Quadros por Segundo s/ Portaisc/ Portais 3094

35 Alberto Raposo – PUC-Rio 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)

36 Alberto Raposo – PUC-Rio Anti-Aliasing

37 Alberto Raposo – PUC-Rio Aliasing Ocorre quando a amostragem inerente à renderização não tem informação suficiente para uma imagem precisa. Cena original Luminosidade Amostragem do centro dos pixels Sinal amostradoLuminosidade reconstruída Imagem renderizada ACM SIGGRAPH Educators Slide Set

38 Alberto Raposo – PUC-Rio Efeitos de Aliasing Jagged Edges (serrilhado) Perda de detalhes ACM SIGGRAPH Educators Slide Set

39 Alberto Raposo – PUC-Rio Desintegração de Textura –O xadrez deveria ficar menor com a distância –Aliasing os torna maiores ou irregulares ACM SIGGRAPH Educators Slide Set

40 Alberto Raposo – PUC-Rio Anti-Aliasing Algoritmos e técnicas desenvolvidos para combater os efeitos de aliasing

41 Alberto Raposo – PUC-Rio Anti-Aliasing Linhas desenahdas com algoritmo de Bresenham e polígonos preenchidos possuem bordas serrilhadas Como consertar? S. Chenney, Univ. of Wisconsin

42 Alberto Raposo – PUC-Rio 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 S. Chenney, Univ. of Wisconsin

43 Alberto Raposo – PUC-Rio Pré-filtragem Sem Anti-aliasing Pré-filtragem ACM SIGGRAPH Educators Slide Set

44 Alberto Raposo – PUC-Rio 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) 1/ /8 1/ S. Chenney, Univ. of Wisconsin

45 Alberto Raposo – PUC-Rio 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 16 amostras por pixel S –Amostras podem ser em grade uniforme, ou randomicamente posicionadas S. Chenney, Univ. of Wisconsin

46 Alberto Raposo – PUC-Rio Exemplos de Anti-aliasing ACM SIGGRAPH Educators Slide Set

47 Alberto Raposo – PUC-Rio Exemplos de Anti-aliasing ACM SIGGRAPH Educators Slide Set

48 Alberto Raposo – PUC-Rio Exemplos de Anti-aliasing ACM SIGGRAPH Educators Slide Set

49 Alberto Raposo – PUC-Rio 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: S. Chenney, Univ. of Wisconsin

50 Alberto Raposo – PUC-Rio Falando em filtros... Imagem: uma função do R 2 em C

51 Alberto Raposo – PUC-Rio Imagem Colorida R G B u v

52 Alberto Raposo – PUC-Rio Tons de cinza e negativo L x,y = 0.299R x,y G x,y B x,y tons de cinza L x,y = L x,y

53 Alberto Raposo – PUC-Rio Aquisição de imagem digital Amostragem Quantização Codificação

54 Alberto Raposo – PUC-Rio Amostragem, quantização e codificação de f(x) partição do eixo x

55 Alberto Raposo – PUC-Rio codificação = (3, 4, 5, 5, 4, 2, 2, 3, 5, 5, 4, 2) Amostragem, quantização e codificação de f(x) x função original amostra quantizada f(x)f(x) partição do eixo x

56 Alberto Raposo – PUC-Rio Digitalização de Imagens amostragem Imagem de tons contínuos x54 64x cores codificação Imagem amostrada Imagem amostrada e quantizada 5*55, 1*55, 1*20, 1*22, …. quantização Imagem amostrada, quantizada e codificada

57 Alberto Raposo – PUC-Rio Filtros espaciais Melhoras na distribuição espacial

58 Alberto Raposo – PUC-Rio Suavização f h

59 Alberto Raposo – PUC-Rio Mascara ou Filtro ou:

60 Alberto Raposo – PUC-Rio Convolução

61 Alberto Raposo – PUC-Rio Gaussiana

62 Alberto Raposo – PUC-Rio Gaussiana

63 Alberto Raposo – PUC-Rio Filtragem gaussiana

64 Alberto Raposo – PUC-Rio Filtro Gaussiano

65 Alberto Raposo – PUC-Rio Detecção de bordas f(x) |f '(x)| |f ''(x)|

66 Alberto Raposo – PUC-Rio Detecção de bordas Gradiente Laplaciano

67 Alberto Raposo – PUC-Rio Filtros de realce de bordas Laplaciano VerticalHorizontal Roberts Sobel Gradiente

68 Alberto Raposo – PUC-Rio Exemplo de detecção de arestas RGBcinza Laplaciano

69 Alberto Raposo – PUC-Rio Filtragem filtro gaussiano filtro laplaciano

70 Alberto Raposo – PUC-Rio Informações Adicionais Peter Shirley. Fundamentals of Computer Graphics, A K Peters, Ltd., Natick, MA, USA, Foley, J. D., Van Dam, A., Feiner, S. K., e Huhes, J. F., Phlips, L. R., Introduction to Computer Graphics, Addison-Wesley, D. F. Rogers, Procedural Elements for Computer Graphics, McGraw-Hill, Marcelo Gattass: notas de aula. rio.br/~mgattass/cg.html 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 2003, p Ribeirão Preto, SP, Brazil


Carregar ppt "Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Eliminação de Superfícies Escondidas; Anti-Aliasing e Imagens Digitais Alberto B. Raposo."

Apresentações semelhantes


Anúncios Google