Upload
internet
View
102
Download
0
Embed Size (px)
Citation preview
Implementação do Filtro EWA para redução de aliasing em mapeamento de
textura
Aluno: Leonardo de Oliveira [email protected]
Rio de Janeiro, 08/05/2007
Pontifícia Universidade Católica do Rio de Janeiro – PUC-RJDisciplina: Fundamentos de Computação Gráfica
Prof. Marcelo Gattass
Introdução Mapeamento de texturas
Processo no qual uma imagem (textura) é mapeada em uma superfície tridimensional
Vantagem: Realismo Baixo custo adicional
Problema: Aliasing
Introdução Aliasing
Efeito indesejável ocasionado pela reamostragem de um sinal de alta frequencia em baixas resoluções
Introdução Aliasing
Solução Uso de técnicas para remover
componentes do sinal com alta frequencia, para que o dispositivo de visualização possa exibi-lo corretamente
Filtros de Reamostragem Limitam a banda do sinal
Introdução
Filtro EWA Consiste em um filtro de
convolução direta, no qual as calcula diretamente uma média ponderada de amostras da textura
Vantagem Performance Baixo custo computacional
Filtro EWA Funcionamento
Cada pixel na tela é visto como um círculo de raio >0
O pixel é mapeado no espaço de textura e o círculo torna-se, então, uma elipse
Os valores dos texels contidos na elipse são calculados e filtrados como o novo valor do pixel
Objetivo Implementar o filtro EWA (Elliptical
Weighted Average) para tentar a redução de aliasing em um mapeamento de textura de um tabuleiro de xadrez
Implementação A implementação pode ser dividida
em 1 – Cálculo da elipse 2 – Escolha do filtro 3 – Percorrer a elipse, filtrando os
texels 4 – Determinar a cor do pixel
Implementação 1 – Cálculo da elipse
E(u,v) = A u^2 + B uv + C v^2 = F onde, (u,v) = (0,0) é o centro
da elipse
Implementação
A = Vx^2 + Vy^2 B = -2(UxVx + UyVy) C = Ux^2 + Uy^2 F = (Ux^2 + Vx^2) * (Uy^2 + Vy^2)
Onde Ux,Uy,Vx,Vy formam o jacobiano da transformação (x,y)->(u,v)
Implementação 2 – Escolha do
filtro Filtro Gaussiano
rerw ),(
Implementação 3 – Percorrer a elipse, fazendo a
filtragem dos texels Se E(u,v)<=F , o pixel está na elipse Então:
texel_value_sum = texel_value_sum + h(E(u,v))*texel_value(u,v)
weight_sum = weight_sum + h(E(u,v))
Implementação 4 – Determinar a cor do pixel
A cor do pixel é a soma dos texels normalizada pela soma dos valores filtrados
pixel_color = texel_value_sum/weight_sum Fazer para os três componentes R, G e
B
Implementação
Implementação
Referências Paul S. Heckbert, Fundamentals of
Texture Mapping and Image Warping, Universaty of California, Berkley, 1989
Paul S. Heckbert, Survey of Texture Mapping. Disponível em www.cse.ucsc.edu/classes/cmps160/Spring05/heckbert_texsurv.pdf