Mapeamento de Texturas
e
Visualização de Terreno
Renato Massayuki Okamoto
UFRJ – COPPE – PESC - LCG
Prof. Cláudio Esperança
Rio de Janeiro, RJ
Março 2003
Sumário
INTRODUÇÃO
MAPEAMENTO DE TEXTURAS
MIP-MAPPING
CLIPMAP
TEXTURAS PARA A VISUALIZAÇÃO DE TERRENOS
LINHAS DE PESQUISA
CONCLUSÃO
Introdução
Objetivo:
Apresentar um apanhado dos trabalhos realizados
sobre o mapeamento de texturas com especial
interesse na área de visualização de terrenos.
n
Motivação:
Embora exista grande quantidade de trabalhos que
buscam simplificar superfícies poligonais, existia
pouca pesquisa no desenvolvimento de técnicas mais
eficazes na utilização de texturas;
n Aumento da capacidade gráfica dos hardwares
atuais criou um aumento de interesse na área de
processamento de texturas.
n
Áreas de pesquisa no mapeamento de
texturas
Técnicas de anti-aliasing;
Aceleração na renderização de
texturas;
Aplicação de mapeamento de textura a
novos problemas de renderização;
Síntese de texturas.
Exemplos de aplicações da textura
Colorização de uma superfície;
Reflexão especular;
Transparência;
Reflexão difusa;
Sombras;
Contornos;
Textos sem aliasing;
Mapeamento de Textura
É uma técnica utilizada para dar mais
realismo a imagens geradas por computador:
metodologia de criar uma complexidade
aparente sem a modelagem e a renderização
de cada detalhe de um objeto;
Textura pode ser definida genericamente
como sendo uma função multidimensional
mapeada em um espaço multidimensional;
Nas aplicações mais comuns, o mapeamento
de textura correlaciona (mapeia) uma função
em uma superfície 3D. O domínio pode ser
1D, 2D ou 3D;
Mapeamento de Textura
A imagem (textura) é mapeada na superfície
3D no espaço do objeto, o qual é então
mapeado para a imagem (tela) através de
uma projeção.
ESPAÇO DA TEXTURA (u, v)
parametrização
ESPAÇO DO OBJETO (xo, yo, zo)
projeção
ESPAÇO DA TELA (x, y)
MIP-MAPPING
Pontos devem ser mapeados em pixels de
uma imagem que possuem uma área ->
ocorrência de serrilhados (aliasing);
Calcular a cor do pixel a textura deve passar
por um filtro que, em tempo real, seria
custoso. Então utiliza-se uma textura préfiltrada;
MIP-mapping: ao invés de uma única
imagem de textura, utilizam-se várias
imagens derivadas da original, onde em cada
nível a imagem possui a metade da resolução
do nível anterior;
MIP = multum in parvo (muitas coisas em
um mesmo lugar).
MIP-MAPPING
Se a imagem original possui uma resolução
de 64X64 então a do nível seguinte possui
32X32, a próxima 16X16, até chegar a 1X1;
MIP-MAPPING
Ao renderizar utilizando mipmap, os
pixels são projetados no espaço do
mipmap utilizando coordenadas da
textura,
obedecendo
posições
geométricas,
transformações
geométricas e transformações da
textura para definir a projeção;
Cada pixel é derivado de um ou mais
texels de um ou mais níveis do
mipmap;
MIP-MAPPING
Existem
vários
fatores
que
podem
determinar quais texels em um mipmap vão
ser utilizados;
Por exemplo: relação entre a posição do
ponto de vista do observador e o acesso aos
texels de um mipmap:
CLIPMAP
“The Clipmap: A Virtual Mipmap”
n
n
Christopher C. Tanner, Christopher J. Migdal and
Michael T. Jones
Proceedings of SIGGRAPH ’98, pp. 151-159, 1998
Este trabalho se baseia no fato de que a
maior parte de um mipmap completo não
será utilizado na renderização de uma
imagem;
CLIPMAP
O sistema é baseado no ponto de vista do
observador e na resolução da tela para o
controle de acesso ao mipmap;
No caso de grandes texturas somente uma
pequena porção dos texels no mipmap são
acessíveis;
O CLIPMAP é uma representação atualizável
de um mipmap parcial:
CLIPMAP
Os níveis são limitados a um tamanho
definido como ClipSize;
Todos os níveis mantêm o tamanho lógico e
a aritmética de acesso na renderização do
nível correspondente de um mipmap
completo;
ClipCenter
CLIPMAP
ClipCenter é uma coordenada no espaço da
textura que define o centro de uma camada;
Definindo ClipSize e o ClipCenter para cada
nível, está definindo a seleção da região da
textura a ser colocada no cache;
CLIPMAP
InvalidBorder é uma faixa de texels dentro
de cada nível e que não é utilizado pela lógica
de amostragem de texels;
Utilizado para fornecer uma região de
armazenagem;
EffectiveSize = ClipSize – 2xInvalidBorder
Atualizando CLIPMAPS
Para atualizar o cache, aproveita-se a significante
coerência entre frames subseqüentes ;
Especificando um novo ClipCenter, verifica-se que as
regiões centrais permanecem a mesma e que
sofreram apenas um deslocamento;
Apenas o topo (T), a quina (C) e a borda lateral (R)
serão atualizadas.
Eficiência do CLIPMAP
Eficiência no armazenamento de textura:
Desvantagem: hardware específico.
Texturas para Visualização de Terreno
“Texturing Techniques for Terrain
Visualization”
n
n
Jürgen Döllner, Konstantin Baumann e Klaus Hinrichs
IEEE Visualization, oct 2000
Apresenta técnica de renderização com o
processamento de múltiplas multiresoluções de
texturas de modelos de terrenos;
Foco na visualização de informações para
cartografia e em sistemas de navegação.
Modelo de Multiresolução com Múltiplas
Camadas de Texturas
O modelo de multiresolução para texturas de
terreno é uma extensão de um modelo de
multiresolução para a geometria do terreno;
Para cada camada de textura, existe um préprocessamento da textura original que vai
resultar em uma pirâmide de imagens
(mipmap) e uma árvore de textura;
O algoritmo de renderização vai levar em
conta tanto o erro de aproximação geométrico
como o erro de aproximação da textura: a
definição das tolerâncias vão controlar a
qualidade visual e a performance da
renderização.
Modelo de Multiresolução com Múltiplas
Camadas de Texturas
Árvore de texturas
A árvore de texturas representa
retalhos de texturas em diferentes
níveis de detalhes;
Cada retalho de textura está associado
a uma malha de geometria proveniente
do modelo de multiresolução da
geometria;
Múltiplas
camadas
de
texturas
requerem múltiplas renderizações;
Estrutura de dados para texturas
Árvore de aproximação para as texturas As,d:
n
n
n
n
n
Retalho de textura (M) é associado a apenas uma
malha de geometria NM ∈ As,d(G);
O domínio de M cobre o domínio de NM: D(M)⊇D(NM);
M referencia a parte da imagem SM com a maior
resolução do mipmap ∆(T) que cobre inteiramente o
domínio D(NM) e obedece as condições do sistema de
renderização;
Se SM não é parte da imagem na primeira textura do
mipmap ∆(T) e a malha de geometria NM possui filhos,
então o retalho de textura M possui filhos também;
Se M possui filhos, então M e NM têm o mesmo número
de filhos e o domínio de um filho de M é igual ao
domínio do filho correspondente de NM.
Camada de texturas
É representado por uma pirâmide de
imagens (mipmap) e por uma árvore de
texturas;
Tipos de camadas:
n
n
n
n
Temática – informação de cor;
Luminância – especifica o brilho aplicado a outras camadas
de textura;
Topográfica – especifica sombreamento de um modelo de
terreno;
Visibilidade – especifica transparência;
As camadas de textura
combinadas por operações.
podem
ser
Operações com camada de texturas
Blending:
n
n
Baseado nos pesos fornecidos por uma textura alfa separada;
Desta forma, blending em regiões arbitrárias podem ser
definidas;
Adição Ponderada:
n
n
Várias texturas podem ser adicionadas à superfície do terreno;
Os pesos da adição são fatores constantes para cada camada;
Modulação:
n
n
Duas ou mais camadas podem ser multiplicadas pixel a pixel;
Visualização de camadas temáticas independentes e para
adicionar informação de sombreamento proveniente de um
textura topográfica;
Lentes de textura
Combinação de textura
topográfica e temática;
Textura de luminância para
criar
relevância (atrair a
atenção) para determinada
região.
Animações
Dados dinâmicos podem ser representados por uma
seqüência de texturas através de uma combinação
ponderada;
Duas texturas são renderizadas com pesos α e (1-α);
Texturas topográficas
Melhorar a percepção
e o reconhecimento
da morfologia do
terreno;
Textura topográfica
contendo informações
de sombreamento é
pré-computada
baseada no modelo
geográfico;
Textura topográfica
combinada com
textura cartográfica;
Algumas Linhas de Pesquisa
Texture caching -> limitação de memória
n
n
Processamento paralelo
Gerenciamento de resolução
Texture compression
n
n
Vector quantization
Wavelets
Texture clusters
3D Texture
Texture segmentation
Conclusão
Técnicas de texturas para visualização de
terreno não foram bem estudadas ainda;
Mapeamento de texturas é uma ferramenta
fundamental para sistemas de visualização de
informações de terreno.
Download

Mapeamento de Texturas e Visualização de Terreno - LCG-UFRJ