mapeamento de texturas
Transcrição
mapeamento de texturas
MAPEAMENTO DE TEXTURAS Computação Gráfica e Interfaces FCT UNIVERSIDADE NOVA DE LISBOA! Mapeamento de texturas em superLcies • Enquadramento • Varrimento da textura para o objecto e vice-‐ inversa • Modo de aplicação • Filtragem FCT UNIVERSIDADE NOVA DE LISBOA! Mapeamento das projecções • Ortogonal, cilíndrica e esférica MAPEAMENTO DE TEXTURAS Sumário Outras técnicas com texturas • Exemplos A. Lopes Computação Gráfica e Interfaces 2009/10 2 MAPEAMENTO DE TEXTURAS Mapeamento de texturas 1. Modelo poligonal 2. Adição de textura na superLcie FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 3 Mo\vação Considerações de índole geométrica • Dificuldade de geração de superLcies complexas com geometria • Imagens permitem obter uma ilusão de geometria • Para a mesma qualidade visual, é possível reduzir a a complexidade geométrica e.g. o número de polígonos (quanto maior for o número de polígonos, mais lento será o sistema) Efeitos visuais adicionais • Simulação de materiais e.g. madeira, granito • Efeito de superLcies reflectoras e.g. espelhos • De notar que a complexidade da imagem a usar não afecta a complexidade do processo FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 4 FCT UNIVERSIDADE NOVA DE LISBOA! MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Mapeamento de texturas A. Lopes Computação Gráfica e Interfaces 2009/10 5 y • Trabalhos iniciais desenvolvidos por Catmull/ Williams em 1974 • Mapeamento/pintura de uma imagem num objecto geométrico z Definição inversa do problema • Dado um pixel da imagem a representar, determinar o(s) valor(es) da textura a u\lizar para calcular a respec\va cor FCT UNIVERSIDADE NOVA DE LISBOA! x textura v (0,0) (1,1) imagem final u A. Lopes Computação Gráfica e Interfaces 2009/10 6 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES geometria Metodologia t (0,0) MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Textura (1,1) s Origem da textura • Imagem digital • Ob\da com um algoritmo em tempo de execução Armazenamento • Em memória, num quadro (vector) e.g. textura[altura][largura][4] • Cada elemento da textura denomina-‐se texel • As coordenadas (s,t) do texel são escaladas para o intervalo [0,1] FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 7 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Onde colocar a textura? Mapeamento com vários modos de projecção Ortogonal Cilíndrico Esférico FCT UNIVERSIDADE NOVA DE LISBOA! Fonte: © Paul Bourke A. Lopes Computação Gráfica e Interfaces 2009/10 8 Fonte: © Piponi FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 9 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Desdobramento da superLcie v t (1,1) y T P P’ y s u (0,0) Espaço da textura z x Espaço do objecto x Espaço da imagem Varrimento da textura Varrimento inverso FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 10 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Enquadramento matemá\co SuperLcie paramétrica v (1,1) Espaço do objecto t textura (0,0) SuperLcie definida por um polígono v retalho (1,1) u s y polígono textura (0,0) (1,1) (0,0) u MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Espaço da textura (0,0) x Por norma, o mapeamento em ambos os casos é realizado com interpolação linear FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 11 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Como colocar a textura? Definição da textura • Leitura ou geração da imagem • Afectação da imagem à textura Especificação da forma de mapeamento da textura para a superLcie • Afectação das coordenadas da textura aos vér\ces da superLcie • Definição de parâmetros de textura tais como a forma de cálculo da cor final dos pixels U\lização dos valores de textura na fase de renderização dos pixels • Considerar a existência de três sistemas coordenados: da textura, do objecto e da imagem final FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 12 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Mapeamento de texels em pixels da imagem final Função de mapeamento • A cor final de um pixel é função da cor da textura e da cor do objecto Alguns \pos de função • Subs\tuição da cor do objecto pela cor da textura • Combinação linear das cores de textura e do objecto • Mul\plicação da cor de textura pela cor do objecto Interpolação (filtragem) de cores • Nem sempre as coordenadas de textura (s,t) requeridas têm um mapeamento exacto na textura, mas sim estão entre os valores definidos • Solução 1: u\lização do texel vizinho mais próximo (rápido mas de baixa qualidade) • Solução 2: filtragem, u\lizando interpolação linear com vários texels vizinhos, ou seja, uma média ponderada para determinar a cor final (mais lento mas de qualidade superior à da solução anterior) • Solução 3: u\lização de várias imagens pré-‐filtradas com diferentes resoluções (mip maps) e com interpolação entre estas Situação de coordenadas de textura fora do intervalo [0,1] • Repe\ção do padrão • Corte para os limites minímo ou máximo da textura FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 13 pixel pintado com ampliação da textura pixel pintado com redução da textura Ampliação (magnifica;on) Redução (minifica;on) imagem do polígono textura imagem do polígono textura Usar o texel mais próximo do ponto calculado pela correspondência com o pixel Para ambos os casos, qual o valor do pixel? FCT UNIVERSIDADE NOVA DE LISBOA! Calcular uma média ponderada (filtragem) com os texels mais próximos do ponto calculado pela correspondência com o pixel A. Lopes Computação Gráfica e Interfaces 2009/10 14 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Note-‐se que a área de um texel da textura não corresponde necessariamente à área de um pixel associado ao polígono texel mais próximo FCT UNIVERSIDADE NOVA DE LISBOA! MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Exemplo, com 64x64 texels e 360x360 pixels Interpolação linear dos texels vizinhos Fonte: © M. Próspero Santos A. Lopes Computação Gráfica e Interfaces 2009/10 15 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Coordenadas de textura fora do intervalo [0,1] t textura s Repe\ção do padrão FCT UNIVERSIDADE NOVA DE LISBOA! Corte para os limites minímo ou máximo da textura A. Lopes Computação Gráfica e Interfaces 2009/10 16 Nem sempre se obtêm bons resultados com interpolação linear de cores Aliasing resulta de sub-‐amostragem do sinal e é par\cularmente notado em animação Redução textura FCT polígono UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 17 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Filtragem com mip maps MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES U\lização de imagens pré-‐filtradas em várias resoluções Para cada pixel, é feita uma interpolação linear entre os dois níveis mais próximos Processo rápido e de fácil implementação em hardware textura original imagens pré-‐filtradas 1/4 1/16 FCT UNIVERSIDADE NOVA DE LISBOA! ... 1 pixel A. Lopes Computação Gráfica e Interfaces 2009/10 18 MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Atenuação do efeito de aliasing com texturas FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 19 Espaço da textura MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Exemplo de mapeamento numa superLcie paramétrica Espaço do objecto y (1,1) v t textura (0,0) x u z Varrimento da textura FCT Varrimento inverso UNIVERSIDADE NOVA DE LISBOA! s (x, y,z) = f (u,v) (u,v) = f −1 (x, y,z) A. Lopes Computação Gráfica e Interfaces 2009/10 20 Em geral a textura não coincide com um número inteiro de pixels, o que significa que é necessário subdividir a área de um pixel (cálculos adicionais) Sen\do natural das transformações de visualização Necessário calcular as transformações de visualização inversa Desnecessária a subdivisão de pixels; permite a u\lização de filtros para an;aliasing ✓ ✗ FCT UNIVERSIDADE NOVA DE LISBOA! MAPEAMENTO DE TEXTURAS EM SUPERFÍCIES Varrimento da textura Varrimento inverso A. Lopes Computação Gráfica e Interfaces 2009/10 21 Mapeamento de texturas em superLcies • Enquadramento • Varrimento da textura para o objecto e vice-‐ inversa • Modo de aplicação • Filtragem FCT UNIVERSIDADE NOVA DE LISBOA! Mapeamento das projecções • Ortogonal, cilíndrica e esférica MAPEAMENTO DE TEXTURAS Sumário Outras técnicas com texturas • Exemplos A. Lopes Computação Gráfica e Interfaces 2009/10 22 Mapeamento ortogonal FCT UNIVERSIDADE NOVA DE LISBOA! MAPEAMENTO DAS PROJECÇÕES Retomando o mapeamento das projecções Fonte: © Rosalee Wolfe SIGGRAPH 97 A. Lopes Computação Gráfica e Interfaces 2009/10 23 MAPEAMENTO DAS PROJECÇÕES Mapeamento mul\-‐ vistas FCT UNIVERSIDADE NOVA DE LISBOA! Fonte: © Rosalee Wolfe SIGGRAPH 97 A. Lopes Computação Gráfica e Interfaces 2009/10 24 FCT UNIVERSIDADE NOVA DE LISBOA! Fonte: © Rosalee Wolfe SIGGRAPH 97 A. Lopes Computação Gráfica e Interfaces 2009/10 25 MAPEAMENTO DAS PROJECÇÕES Mapeamento cilíndrico FCT UNIVERSIDADE NOVA DE LISBOA! Fonte: © Rosalee Wolfe SIGGRAPH 97 A. Lopes Computação Gráfica e Interfaces 2009/10 26 MAPEAMENTO DAS PROJECÇÕES Mapeamento esférico Mapeamento de texturas em superLcies • Enquadramento • Varrimento da textura para o objecto e vice-‐ inversa • Modo de aplicação • Filtragem FCT UNIVERSIDADE NOVA DE LISBOA! Mapeamento das projecções • Ortogonal, cilíndrica e esférica MAPEAMENTO DE TEXTURAS Sumário Outras técnicas com texturas • Exemplos A. Lopes Computação Gráfica e Interfaces 2009/10 27 posição normal da superLcie Observador FCT raio a par\r do centróide UNIVERSIDADE NOVA DE LISBOA! reflexão A. Lopes Computação Gráfica e Interfaces 2009/10 28 OUTRAS TÉCNICAS COM TEXTURAS Exemplos de atributos (x,y,z) passíveis de u\lização OUTRAS TÉCNICAS COM TEXTURAS Exemplos de outras técnicas Ambiente Funções sinusoidais bump Obs.: Existem várias técnicas para geração de texturas, de complexidade elevada, as quais estão fora do âmbito da disciplina (ver imagens seguintes) FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 29 OUTRAS TÉCNICAS COM TEXTURAS Visualização de volumes usando vários planos de textura, calculados inicialmente em função dos dados 3D a representar e segundo as direcções XX, YY e ZZ planos de textura observador FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 30 FCT UNIVERSIDADE NOVA DE LISBOA! A. Lopes Computação Gráfica e Interfaces 2009/10 31 OUTRAS TÉCNICAS COM TEXTURAS Técnica Line Integral Convolu;on, bastante u\lizada na área de dinâmica de fluidos, segundo a qual a intensidade de cada pixel é função da textura e da direcção do fluxo no ponto em causa