Mapeamento de Texturas e Visualização de Terreno UFRJ – COPPE – PESC - LCG Prof. Cláudio...

Preview:

Citation preview

Mapeamento de Texturas

eVisualização de

Terreno

UFRJ – COPPE – PESC - LCGProf. Cláudio EsperançaRio de Janeiro, RJ Março 2003

Renato Massayuki Okamoto

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.

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; Aumento da capacidade gráfica dos hardwares atuais criou um aumento de interesse na área de processamento de texturas.

Á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)

ESPAÇO DO OBJETO (xo, yo, zo)

ESPAÇO DA TELA (x, y)

parametrização

projeção

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” 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;

CLIPMAPO 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”

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: 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:

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 podem ser combinadas por operações.

Operações com camada de texturas

Blending: Baseado nos pesos fornecidos por uma textura alfa separada; Desta forma, blending em regiões arbitrárias podem ser

definidas;

Adição Ponderada: Várias texturas podem ser adicionadas à superfície do

terreno; Os pesos da adição são fatores constantes para cada

camada;

Modulação: 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

Textura de luminância para criar relevância (atrair a atenção) para determinada região.

Combinação de textura topográfica e temática;

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 Processamento paralelo Gerenciamento de resolução

Texture compression 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.

Recommended