Академический Документы
Профессиональный Документы
Культура Документы
Texturas
1. Introducción
2. Función de mapeado
3. Tipos de Texturas
4. Filtros de magnificación y contracción
5. Otras aplicaciones
6. Texturas con OpenGL
Introducción
• Objetos coloreados o sombreados
Inf
uniformemente carecen de realismo
– Los objetos reales tienen caracterís-
or
ticas en su superficie, o texturas
• Soluciones:
– Usar un enorme número de polígonos
de color y propiedades adecuadas má
– O utilizar una imagen como textura
para hacer que los objetos se parezcan tic
a
más a la realidad
• Escanea texturas del mundo (nubes,
Gr
arena, etc.) o píntala tu mismo
• Almacena la textura como una imagen
2D
• Mapea la textura en la superficie
• Pinta cada punto de la superficie
áfi
buscando el color en la textura
ca
2
Introducción
Inf
Modelo
or
Modelo sombreado
má
tic
Modelo + sombreado
+ texturas
¿Cuándo comienza
a
a parecer real? Gr
áfi
ca
3
Función de mapeado
• ¿Cómo se pega una textura sobre un objeto?
Definir una función unívoca (función de mapeado o mapping) que a cada
punto del espacio ocupado por la superficie o sólido le hace corresponder un
Inf
punto en el espacio de la textura.
or
TEXTURA 1D - COLOR má
• Espacio de textura con 1 dimensión.
• Contiene información sobre el color. tic
• Ejemplo: coloración del terreno según la altura.
a
Gr
áfi
ca
4
Función de mapeado
TEXTURAS 2D
• Las dimensiones del espacio de textura suelen estar normalizadas Æ Inf
sus coordenadas s y t varían entre 0 y 1.
• Para aplicar una textura que aparezca repetida en el espacio del
or
objeto, se asignan coordenadas fuera de rango Æ recortadas tomando
modulo 1.
má
tic
a
Gr
áfi
ca
5
Definiendo la función de mapeado
•
•
La textura contiene normales en lugar de color.
El vector normal de la superficie se modifica según el valor de la textura. Inf
• Efecto de relieve debido a los efectos de iluminación.
or
má
tic
a
Bump
Gr
Mapping áfi
ca
8
Tipos de texturas: textura de normales
Inf
+ = or
Esfera con un mapa Bump Map Esfera con mapa de
má
de textura textura + Bump Map
tic
• La superficie no cambia, pero el sombreado hace que parezca que sí lo a
hace
Gr
• El ‘bump map’ se utiliza para falsear pequeños desplazamientos arriba o
debajo de la verdadera superficie
áfi
ca
9
Ejemplo de variación de la normal
Inf
or
má
tic
a
Gr
Bump Map áfi
Cilindro con un mapa de textura Cilindro con un mapa de textura
ca
+ bump map
10
Tipos de texturas: textura de desplazamientos
•
•
La textura contiene longitud de desplazamiento.
Se aplica sobre la superficie del objeto en la dirección de la normal.
Inf
• Se crean detalles con volumen real en la superficie de los objetos.
or
má
tic
a
Displacement Gr
Mapping
áfi
ca
11
Tipos de texturas: textura de desplazamientos
Inf
or
má
tic
a
Gr
áfi
ca
12
Tipos de texturas: texturas Sólidas, o 3D
• El espacio de la textura tiene 3 dimensiones:
Gr
– Texturas de piedra (marmol,
granito, etc.) o madera se suelen
generar de esta forma
áfi
ca
13
Tipos de texturas: textura animada
• Ser le añade la dimensión tiempo.
Inf
or
má
tic
a
Gr
áfi
ca
16
Filtros de magnificación y contracción
• No relación de semejanza entre el tamaño de los pixels y el tamaño
Inf
aparente de los texels proyectados Æ Calidad del resultado baja.
PROBLEMA SOLUCIÓN or
–Texels mucho mayores que los Filtros de magnificación
má
pixeles de la imagen ÆLa textura se
ve como una cuadrícula.
tic
a
Gr
áfi
–Texels mucho más pequeños Æ un
pixel de la imagen representa a Filtros de contracción
ca
muchos del espacio de texturas.
17
Filtros de magnificación
• Cómo calcular el color de un pixel de la imagen cuando
los texels ocupan varios pixels . Inf
PUNTUAL: LINEAL:
or
má
tic
a
Gr
áfi
ca
18
Filtros de magnificación
• Ejemplos
Inf
PUNTUAL: LINEAL:
or
má
tic
a
Gr
áfi
ca
19
Filtros de contracción
• Cómo calcular el color de un pixel de la imagen cuando
los texels son más pequeños que los pixels. Inf
or
PUNTUAL: LINEAL: má
tic
a
Gr
áfi
ca
20
Filtros de contracción
• MIP-MAPPING
– Estructura piramidal (u,v,d)
– Filtro áreas cuadradas d=(UVarea)1/2
Inf
•
•
Textura 512x512
Mip-Map 1024x1024 or
má
• 10 niveles v v
• Filtro caja 2k pixels 0£ k£ 9
d
u u tic
a
u
1 v
d=0.25
Gr
2 9-k d>1
u
áfi
ca
0,0 1 v
K=7
Textura
21
Filtros de contracción
Inf
or
má
tic
a
Gr
áfi
ca
PUNTUAL LINEAL MIP-MAPPING
22
Otras aplicaciones: Environment Mapping
• Inserta la escena en un cubo
• Pinta imágenes en las caras del cubo para tener un fondo que rodea tu escena.
Podrían ser nubes, montañas, una habitación etc.
Inf
• Usa el cubo para iluminar la escena interior. or
má
• Durante la etapa de sombreado:
tic
a
Gr
áfi
ca
23
Otras aplicaciones: Light Mapping
• Quake usa mapas de iluminación además de mapas de texturas.
• Los mapas de texturas se usan para añadir detalle a las superficies, y los mapas
de iluminación son utilizados para almacenar la iluminación previamente Inf
calculada.
• Ambos mapas son aplicados en tiempo de ejecución.
or
má
tic
a
Gr
Imagen con mapa de texturas Mapas de texturas + Light Map áfi
ca
Light Map
24
Texturas en OpenGL
1. Leer el fichero de la textura y cargarlo en una matriz de
[altotextura][anchotextura].
leeTextura(fichero, num);
Inf
or
2. Generar un vector de texturas.
void glGenTextures(GLsizei n, GLuint *nombreTexturas);
glTexImage2D(GL_TEXTURE_2D, 0, 3, anchoTextura, Gr
áfi
altoTextura,0, GL_RGB, GL_UNSIGNED_BYTE, texturas[num]);
Asignar parámetros de aplicación a la textura;
Ya en el proceso de dibujado:
Inf
1. Cuando queramos activar una textura para que se pegue en un objeto:
glBindTexture(GL_TEXTURE_2D, nombreTexturas[i]);
or
2. Ya en el dibujado del objeto, las coordenadas de textura se asignan a los vértices: má
void glTexCoord{1234}{sifd}(TIPO coordenadas); tic
a
void glTexCoord{1234}{sifd}v(TIPO *coordenadas);
Gr
Ejemplo:
glTexCoord2f ( 0.0, 0.0);
áfi
glVertex3f (1.0, 1.0, 1.0);
glDisable(GL_TEXTURE_2D);
ca
26
SUMARIO
• Las texturas permiten aumentar de forma notable la calidad de las
•
imágenes de síntesis
Las texturas permiten modificar distintos atributos de las superficies de los
Inf
•
objetos
La aplicación de texturas está sujeta al problema del aliasing
or
• Estas técnicas se han extendido a otros campos relacionados con la má
Informática Gráfica
tic
a
Gr
áfi
ca
27