Você está na página 1de 12

UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE COMPUTAO DISCIPLINA DE COMPUTAO GRFICA

TEXTUTAS

Prof Dr Joo Paulo Igncio Ferreira Ribas

Edvandro Amncio dos Santos Luiz Gustavo Augusto Jnior

Cuiab 2011
1

Sumrio
Introduo ............................................................................................................................................ 3 Processo de Mapeamento de Texturas ................................................................................................. 4 Tipos de texturas .................................................................................................................................. 4 Mapas Procedurais ............................................................................................................................... 6 UVW Maps .......................................................................................................................................... 7 Texture Maps........................................................................................................................................ 8 Environment Map ................................................................................................................................ 9 Bump Map............................................................................................................................................ 9 Emboss Bump Map ............................................................................................................................ 10 Environment Map Bump Mapping .................................................................................................... 10 Per-Pixel Shading............................................................................................................................... 10 Light Map ........................................................................................................................................... 10 Mip Mapping...................................................................................................................................... 11 Bibliografia ........................................................................................................................................ 12

INTRODUO Computao Grfica TEXTURAS


Textura o aspecto de uma superfcie ou seja, a "pele" de uma forma, que permite identific-la e distingui-la de outras formas. Quando tocamos ou olhamos para um objeto ou superfcie sentimos se a sua pele lisa, rugosa, macia, spera ou ondulada. A textura , por isso, uma sensao visual ou tctil. o procedimento em que o relevo da superfcie calculado atravs de expresses matemticas. Quanto ao aspecto visual podemos agrupar as texturas em: Texturas naturais - Aquelas que resultam da interveno natural do meio ambiente ou que caracterizam o aspecto exterior das formas e coisas existentes na Natureza. Texturas artificiais - So aquelas que o homem cria para caracterizar os objetos que constri. Podem-se encontrar na superfcie de uma parede, nos tecidos, num cesto, numa escultura, numa pintura... As texturas tambm se dividem em 1D, 2D e 3D. 1D Linhas que podem ser utilizadas na criao das imagens 2D Textura normal. Aplicado ao plano XY. Duas dimenses. 3D Permite aplicar texturas como se tratasse de uma escultura; o espao tridimensional, volumes. muito utilizado na indstria grfica e cinematogrfica. Dentro do estudo das texturas, devemos ressaltar a importncia do mapeamento de texturas que consiste em ser a parte da computao grfica, que se ocupa do estudo da simulao de materiais e texturas sobre planos. Trata-se de um mtodo grfico computacional aplicado para 3D e foi desenvolvido na tese de doutoramento de Edwin Catmull, em 1974, atualmente diretor da Walt Disney Animation Studios e Pixar Animation Studios.

Funo de mapeamento
Corresponde forma com que a textura usada para embrulhar (wrap) o objeto; Na verdade, na maioria dos casos precisamos de uma funo que nos permita desembrulhar (unwrap) a textura do objeto, isto , a inversa da funo de mapeamento. 3

Processo de Mapeamento de Texturas


1) pixel; 2) 3) 4) Parametrizao Coordenadas paramtricas dos vrtices do pixel projetados; Mapeamento Inverso Coordenadas dos vrtices no espao de textura; Mdia Cor mdia dos textels proporcional rea coberta pelo quadriltero. No mapeamento de texturas em polgonos a maneira mais simples e rpida de se fazer projetar os vrtices do polgono na imagem e a cada vrtice projetado Pi corresponde um ponto Qi no espao de textura. Um pixel P do polgono na imagem dado por uma combinao afim e ento um pixel P pintado com a cor do textel obtido com a mesma combinao afim. Projeo do pixel sobre a superfcie Pontos da superfcie correspondente aos vrtices do

Problemas de abordagem simples: Aliasing - Pixel diferente de textel. Soluo: Interpolao e Mip-Mapping Deformao Combinao afim no so preservadas pelas projees perspectivas. Soluo: Mais vrtices e coordenadas homogneas.

Tipos de Texturas
Surface Textures So matrizes bidimensionais que so mapeadas pixel a pixel para o objeto. Podem ser geradas a partir de algoritmos ou tambm a partir de imagens criadas previamente. um dos tipos de texturas mais simples. Solid Textures So obtidos diretamente de algoritmos, so materiais do plano 2D atribudos ao 3D. Bump Mapping Mapeamento de rugosidade. Usado quando se deseja obter um efeito spero , dentado, perfurado, sem que se altere a superfcie, dando a iluso de q o objeto possui tais caractersticas. uma tcnica usada para adicionar realismo sem modificar a geometria do objeto, simulando depresses numa superfcie.

O uso de texturas requer a execuo de dois passos distintos: a CARGA e a APLICAO da textura. Carga de uma textura em Open GL: // Habilitar o uso de texturas glEnable ( GL_TEXTURE_2D ); // Definir a forma de armazenamento dos pixels na textura (1= alinhamento por byte) glPixelStorei ( GL_UNPACK_ALIGNMENT, 1 ); // Definir quantas texturas sero usadas no programa GLuint texture_id[MAX_NO_TEXTURES]; // vetor com os nmeros das texturas glGenTextures (1, texture_id); // 1 = uma textura; // texture_id = vetor que guarda os nmeros das texturas // Definr o nmero da textura do cubo. texture_id[0] = 1001; // Define a textura corrente glBindTexture ( GL_TEXTURE_2D, texture_id[0] ); // GL_TEXTURE_2D ==> define que ser usada uma textura 2D (bitmaps) // texture_id[CUBE_TEXTURE] ==> define o nmero da textura // carrega a uma imagem TGA image_t temp_image; tgaLoad ( "TCG1.tga", &temp_image, TGA_FREE | TGA_LOW_QUALITY ); Para a aplicao da textura preciso criar uma relao entre os vrtices da textura e os vrtices dos polgonos sobre os quais se desenha mapear a textura escolhida.

Mapas Procedurais
Mapas procedurais so texturas obtidas matematicamente, ou seja nenhuma imagem necessria para que seja gerada. Essa abordagem empregada quando se deseja que no existam emendas aparentes. Para que se tenha um bom resultado o programador deve possuir um prtica avanada nesta prtica, pois o objeto final de modelagem pode aparecer de maneira muito grotesca.

Exemplo em ferramenta AutoCAD para a textura Madeira

Fig 1

Fig 2 6

1. As duas cores que iro compor a textura; 2. A espessura dos gros; 3. Os nveis de aleatoriedade axial e radial.

Dentre os mapas procedurais mais usados atualmente destacamos o mapa de rudos, por ser capaz de gerar uma srie de texturas obtidas por algoritmos fractais.

UVW Map
A idia bsica desta abordagem editar as coordenadas do mapeamento para que se possa aplicar texturas planas em selees de sub-objetos. Ou seja, dessa forma deformamos nossa textura plana para que se possa encaixar em um objeto irregular. O sistema de coordenadas utilizado diferenciado do sistema de coordenada X, Y, e Z usado para descrever o objeto. O sistema de coordenadas usam as letras U, V, e W. O U o equivalente de X, e representa a direo horizontal do mapa, o V o equivalente de Y, e representa a direo vertical do mapa, W o equivalente de Z e representa a direo perpendicular do plano UV.

Imagem que deve ser mapeada

Objeto 3d que deve receber a textura

Objeto final j texturizado

Texture Map
utilizado para dar efeito de realismo ao objeto, e consiste em aplicar a uma imagem que no caso a nossa textura sobre um objeto da cena. Esta tcnica que antes era aplicada por software hoje em dia obtido por hardware de alta performance. Os passos para se aplicar uma imagem para um objeto so: A textura deve ser armazenada como um array; A textura deve ser mapeada para adaptar-se a superfcies do objeto e a uma viso da cena em perspectiva; A textura deve ser tratada para retirar-se imperfeies devidas ao aliasing.

Uma considerao importante que devemos fazer que a imagem como textura no precisam estar em 2D. No caso tridimensional, uma fatia bidimensional deve ser selecionada para descrever as propriedades da superfcie usadas no clculo da iluminao e sombreamento. Projective textures uma generalizao desta tcnica que projeta imagens sem coodenadas fixas e do como resultado final uma textura deslizante sobre o objeto, permitindo simular o efeito de gua e florestas. Tambem muito til na simulao de sombras e representao de objetos translcidos.

Environment Mapping ou Mapa de Reflexo


Reflection Mapping (Mapa de Reflexo/ Environment Mapping) So mapas usados para fazer o render de objetos reflexivos. o tipo de mapeamento que reflete na superfcie dos objetos os elementos que compem a cena e no se v a superfcie do objeto, mas sim o ambiente projetado nesse ponto.

Bump Map
uma tcnica onde em cada pixel do objeto que est sendo renderizado aplica-se uma perturbao em sua superfcie normal, baseada num mapa de altura breveamente especificado, que conseqentemente varia a intensidade de luz "refletida" por este pixel. A iluminao aplicada aps os clculos dando a cada pixel seu respectivo brilho. O resultado uma superfcie renderizada com mais detalhes e imperfeies lembrando o mundo real. No bump mapping somente a normal do objeto perturbada, deixando a geometria intacta. Logo isto no altera a silhueta do objeto em questo.

Emboss Bump Map


o tipo mais comum de Bump Map. Nesta tcnica os mapas de textura so utilizados para gerar os mesmos efeitos do bump map mas no utiliza um render especfico. Os passos ds algoritmo so: Renderiza a imagem com uma textura. Desloca-se as coordenadas da textura Re-renderiza a imagem com textura, sobrepondo-se a primeira imagem.

A funo altura f(s) pode ser dada pela equao: f(s) f(s + deslocamento) Para o deslocamento de apenas um pixel em s temos: f(s)-f(s +L/w), onde w a largura e L o comprimento da textura.

Environment Mapped Bump Mapping


Caracteriza-se por utilizar trs mapas, um mapa de textura, um bump map e um environment map, e permite a simulao de bump maps com animao, ondas por exemplo, distorcendo o objeto. Esta tcnica no causa deslocamentos como no emboss bump map, mas usa um environment map para o clculo do bump map. O environment map pode adicionar vrias fontes de luzes, inclusive especulares, e no necessita de uma passada de render adicional.

Per-Pixel Shading
um mtodo de renderizao que aplica a cada pixel efeitos especiais de materiais ou simulaes do mundo real com muita intencidade e preciso. J foi aplicado em vrios filmes de animao de sucesso como em Toy Story. Per-Pixel Shading tem um bom desepenho em simulao de fenmenos da natureza e atributos de superfcies como pele, roupas, metais, vidros, pedras e outros tipos complexos, alem de suportar iluminao difusa, especular, spot e point light.

Light Map
Permitem um pr clculo de luz necessria para os mapas de textura e so teis para dar velocidade na renderizao de objetos 3D com iluminao complexa. O grande problema desse tipo de mapeamento que a fonte de luz deve ser esttica, pois sempre que a fonte de luz movimentada necessrio realizar todos os clculos novamente. 10

Texturas procedimentais
Gerada a partir de um programa ou modelo, sem recorrer a uma imagem digital e evitam a necessidade de transformaes. Normalmente esse tipo de textura so definidas por um algoritmo matemtico que capaz de as criar. Esse tipo de textura muito utilizada para a gerao de texturas de gua, montanhas, nuvens, dentre outros fenmenos da natureza.

Mip-Mapping
um tipo de mapeamento que prope a soluo de dois problemas no mapeamento de objetos em cenas de animao ou real-time rendering. O primeiro problema ocorre com o afastamento do observador em relao aos objetos. Quando as texturas destes ficam maiores do que a quantidade de pixels disponveis, o render ter de aplicar o anti-alising realizando uma mdia final dos pixels da imagem, produzindo como resultado final rudos de fundo especialmente orientado. O segundo problema ocorre com a aproximao do objeto alvo, revelando detalhes indesejados da textura (geralmente por baixa resoluo). Esse problema pode ser contornado aumentando a resoluo da imagem, mas isso significaria mais memria, tempo de processamento e rudos provocados pelo primeiro problema. Para solucionar esses problemas, o mip-mapping prope a utilizao de mais de uma imagem como textura, onde cada imagem possui um nvel de resoluo decrescente conforme o observador se afasta. Esse tipo de mip-mapping o que podemos chamar de mip-mapping convencional e usado pela maioria das engrenagens e placas 3D. Um outro tipo de mipmapping o mip-mapping bidirecional. Nesse tipo, a textura no recebe uma reduo igual em ambas as direes, mas uma reduo diferente no sentido horizontal (U) e outra na vertical (V).Omip-mapping bidirecional apresenta um resultado melhor sempre que a reduo for diferente em cada sentido.

11

Bibliografia http://pt.wikipedia.org/wiki/Textura Acessado em 28/05/2011 s 19:16. http://pt.wikipedia.org/wiki/Mapeamento_de_textura acessado em 28/05/2011 s 20:26 http://www.ebah.com.br/content/ABAAAA0CQAA/texturas-opengl-ciencia-computacao acessado em 28/05/2011 s 19:47 http://www.inf.pucrs.br/~pinho/CG/Aulas/OpenGL/Texturas/MapTextures.html Acessado em 28/06/2011 s 20:08

http://www.slidefinder.net/c/computa%C3%A7%C3%A3o_gr%C3%A1fica_mapeamento_textura_ http/30579224 Acessado 29/05/2011 s 16:28

http://www.sotutorial.com/index.php/tutoriais-renderizacao/autocad-render-011-mapas-procedurais/ acessado em 15/06/2011

http://www.deck16.com.br/?q=tutorial_cremedental acessado em 15/06/2011 http://pt.wikipedia.org/wiki/Textura Acessado em 07/06/2011 s 19:16.

http://www.ebah.com.br/content/ABAAAA0CQAA/texturas-opengl-ciencia-computacao http://www.inf.pucrs.br/~pinho/CG/Aulas/OpenGL/Texturas/MapTextures.html Acessado em 07/06/2011 s 20:08

http://www.sotutorial.com/index.php/tutoriais-renderizacao/autocad-render-011-mapas-procedurais/

12

Você também pode gostar