Você está na página 1de 29

Mapas de Textura

Processamento de Imagens e Computacao Grafica

Mapas de Textura

Profa. Beatriz Trinchao Andrade

Departamento de Computacao UFS


beatriz@dcomp.ufs.br

Profa. Beatriz Trinchao Andrade 1 / 29


Mapas de Textura

Sumario

Introducao

Texturas

Classificacao
Texturas 3D
Texturas 2D e 1D

Mapeamento de Texturas

Referencias

Profa. Beatriz Trinchao Andrade 2 / 29


Mapas de Textura
Introducao

Sumario

Introducao

Texturas

Classificacao
Texturas 3D
Texturas 2D e 1D

Mapeamento de Texturas

Referencias

Profa. Beatriz Trinchao Andrade 3 / 29


Mapas de Textura
Introducao

Introducao

I Superfcies uniformes texturizadas


I Uso de polgonos suficientemente pequenos
I Menos eficiente
I Nem sempre desejavel

Profa. Beatriz Trinchao Andrade 4 / 29


Mapas de Textura
Introducao

Introducao

Figura: Fonte: http://www.dsogaming.com/wp-content/uploads/2013/07/hrt13ee_1.jpg


Profa. Beatriz Trinchao Andrade 5 / 29
Mapas de Textura
Texturas

Sumario

Introducao

Texturas

Classificacao
Texturas 3D
Texturas 2D e 1D

Mapeamento de Texturas

Referencias

Profa. Beatriz Trinchao Andrade 6 / 29


Mapas de Textura
Texturas

Texturas

I Possibilitam uma grande variedade de escolhas de


programacao
I Podem representar diferentes propriedades de um modelo 3D

Profa. Beatriz Trinchao Andrade 7 / 29


Mapas de Textura
Texturas

Texturas

Figura: Fonte http://nickdesaulniers.github.io/RawWebGL/texture.gif


Profa. Beatriz Trinchao Andrade 8 / 29
Mapas de Textura
Texturas

Texturas

I Mais comum que definam a cor e refletancia


I Tambem usada para mudar as normais e posicao dos vertices
da superfcie
I Exemplos:
I Bump mapping
I Displacement mapping

Profa. Beatriz Trinchao Andrade 9 / 29


Mapas de Textura
Texturas

Bump mapping

I Utiliza texturas para perturbar a direcao do vetor normal de


cada ponto da superfcie.
I Nao modifica a geometria da superfcie
I Modelo de iluminacao usa o vetor normal modificado

Profa. Beatriz Trinchao Andrade 10 / 29


Mapas de Textura
Texturas

Bump mapping

Figura: Aula IA725 Unicamp

Profa. Beatriz Trinchao Andrade 11 / 29


Mapas de Textura
Texturas

Bump mapping

I Nao modifica a silhueta


I Os detalhes nao causam oclusoes nem sombras

Profa. Beatriz Trinchao Andrade 12 / 29


Mapas de Textura
Texturas

Displacement mapping

I Modifica a geometria
I Cada texel do displacement map e um valor de deslocamento
do vertice ao longo do vetor normal

Profa. Beatriz Trinchao Andrade 13 / 29


Mapas de Textura
Texturas

Displacement mapping

Profa. Beatriz Trinchao Andrade Figura: Aula IA725 Unicamp 14 / 29


Mapas de Textura
Classificacao

Sumario

Introducao

Texturas

Classificacao
Texturas 3D
Texturas 2D e 1D

Mapeamento de Texturas

Referencias

Profa. Beatriz Trinchao Andrade 15 / 29


Mapas de Textura
Classificacao

Classificacao

I Classificacao dos tipos de mapeamento de textura:


I Numero de dimensoes da textura: 1D, 2D (mais populares), 3D
I A correspondencia definida entre os pontos da superfcie e os
pontos da funcao de textura
I Se a funcao de textura e procedural ou definida por uma
tabela de valores pre-definidos
I Classificacao de acordo com numero de dimensoes (Shirley)

Profa. Beatriz Trinchao Andrade 16 / 29


Mapas de Textura
Classificacao
Texturas 3D

Texturas 3D

I Tambem conhecidas como texturas solidas ou volumetricas


I Seja um objeto cuja cor solida mude para cada ponto
I cr(p): funcao que mapeia pontos 3D p para valores de
reflectancia difusa
I cr(p) pode ser uma textura 3D que define um valor RGB para
cada ponto do espaco 3D
I Geralmente chamada apenas para pontos p na superfcie do
objeto
I Exemplo: marmore

Profa. Beatriz Trinchao Andrade 17 / 29


Mapas de Textura
Classificacao
Texturas 3D

Texturas 3D
Faixas de cores
RGB stripe ( point p )
if ( sin ( x_p ) > 0)
return c_0 ;
else
return c_1 ;

Imagem: referencia [2]

Profa. Beatriz Trinchao Andrade 18 / 29


Mapas de Textura
Classificacao
Texturas 2D e 1D

Texturas 2D e 1D

I Basicamente arrays de dados


I Cor, alpha, luminancia
I Valores individuais no array sao chamados de texels
I Textura e mapeada a primitiva

Profa. Beatriz Trinchao Andrade 19 / 29


Mapas de Textura
Classificacao
Texturas 2D e 1D

Texturas 2D e 1D

I Pode ser distorcida durante o mapeamento


I Sua aparencia muda de acordo com as transformacoes sofridas
pela primitiva
I Varios texels podem ser mapeados a um fragmento
I Varios fragmentos podem ser mapeados a um texel
I Operacoes caras
I Muitos sistemas graficos incluem suporte de hardware ao
mapeamento de texturas

Profa. Beatriz Trinchao Andrade 20 / 29


Mapas de Textura
Mapeamento de Texturas

Sumario

Introducao

Texturas

Classificacao
Texturas 3D
Texturas 2D e 1D

Mapeamento de Texturas

Referencias

Profa. Beatriz Trinchao Andrade 21 / 29


Mapas de Textura
Mapeamento de Texturas

Mapeamento de Texturas

I Passos
1. Criar um objeto de textura e especificar uma textura para esse
objeto
2. Indicar como a textura deve ser aplicada a cada pixel
3. Habilitar o mapeamento de texturas
4. Desenhar a cena, provendo coordenadas de geometria e textura
I Acompanhar com o exemplo: 05 textura.cpp

Profa. Beatriz Trinchao Andrade 22 / 29


Mapas de Textura
Mapeamento de Texturas

Mapeamento de Texturas - Passo 1

I Criar um objeto de textura e especificar uma textura para esse


objeto
I Pode ser uni ou bidimensional
I Pode ser preenchida com ate 4 elementos por texel (coerente
com o formato RGBA)
I glGenTextures/glBindTexture e glTexImage2D

Profa. Beatriz Trinchao Andrade 23 / 29


Mapas de Textura
Mapeamento de Texturas

Mapeamento de Texturas - Passo 2

I Indicar como a textura deve ser aplicada a cada pixel


I Valor RGBA final e computado a partir da cor do fragmento e
dos dados da imagem de textura. Opcoes:
I Usar o valor da textura como cor final
I Usar o valor da textura para escalar a cor do fragmento
I Blending do valor da textura com cor do fragmento
I glTexParameteri, glTexEnvf
I Magnification and minification filters

Profa. Beatriz Trinchao Andrade 24 / 29


Mapas de Textura
Mapeamento de Texturas

Mapeamento de Texturas - Passo 3

I Habilitar o mapeamento de texturas


I Textura precisa ser habilitada antes que a cena seja desenhada
I Uso de glEnable() e glDisable()
I Constantes GL TEXTURE 1D ou GL TEXTURE 2D

Profa. Beatriz Trinchao Andrade 25 / 29


Mapas de Textura
Mapeamento de Texturas

Mapeamento de Texturas - Passo 4

I Desenhar a cena, provendo coordenadas de geometria e


textura
I Como a textura sera alinhada aos fragmentos onde sera
aplicada
I Especificacao de coordenadas de geometria associadas a
coordenadas de textura
I Coordenadas de textura variam em [0.0,1.0]
I Tratamento de coordenadas fora do intervalo: repeticao ou
clamping (glTexParameteri)
I Como as coordenadas de textura podem ser obtidas?

Profa. Beatriz Trinchao Andrade 26 / 29


Mapas de Textura
Mapeamento de Texturas

Exerccio/Parte do Trabalho Pratico

I Ler imagens .ppm e utiliza-las como textura nos modelos


carregados
I Formato .ppm foi visto na aula SVH, dispositivos de
rasterizacao e imagens
I Opcoes:
I Usar mapeamento (esferico, planar, cilndrico...); ou
I Adaptar a leitura do arquivo obj para aceitar as coordenadas
de textura (tag vt)

Profa. Beatriz Trinchao Andrade 27 / 29


Mapas de Textura
Referencias

Sumario

Introducao

Texturas

Classificacao
Texturas 3D
Texturas 2D e 1D

Mapeamento de Texturas

Referencias

Profa. Beatriz Trinchao Andrade 28 / 29


Mapas de Textura
Referencias

Referencias:

I Livro do Shirley, captulo 11


I Redbook, captulo 9
I Mapeamento de Textura - Unicamp IA725 - Computacao
Grafica I (2008) http://www.dca.fee.unicamp.br/
courses/IA725/1s2008/transparencias/Textura_1.ppt
I Tecnicas de mapeamento. Prof. Marcelo Walter. UFPE
(2008) http://www.cin.ufpe.br/marcelow/Marcelow/
programacao_pg_files/map.pdf

Profa. Beatriz Trinchao Andrade 29 / 29

Você também pode gostar