Mapeado Texturas
Computación Geométrica
Luis Alberto Vivas Tejuelo
1
CONTENIDO
•
Mapeado de texturas
•
Técnicas avanzadas:
•
Bump mapping
•
Displacement mapping
•
Normal mapping
•
Parallax mapping
•
Relief mapping
2
MAPEADO DE TEXTURAS
•
Definición: adición de un patrón definido por separado a una superficie lisa. Tras
añadir el patrón, la superficie sigue siendo lisa
•
Dellatín “textura”: tejido, lienzo
•
El mapeado de texturas es una técnica eficaz y sencilla de aumentar el realismo de
una imagen. Simplifica la presentación de superficies complejas
•
Se puede emplear para definir diversos parámetros de la superficie además del
color: la rugosidad, transparencia, brillo...
•
Todas las GPUs modernas desde las Voodoo de 3DFX soportan aceleración
hardware parael mapeado de texturas (vía vertex/pixel shaders)
3
• Ejemplo: una
naranja
• Una
esfera de color naranja es
demasiado simple
• Modelar
una malla de miles y
miles de polígonos es demasiado
costoso
• Solución: “pegar” una
imagen que
altere las propiedades de la esfera
4
HISTORIA
•
1974: Edwin Catmull presenta el concepto original de mapeado de
texturas para modular los valores de colorde una superficie
•
Catmull fundó posteriormente la empresa Pixar
•
1976: Mapas de reflexión (Blinn y Newell)
•
1978: Bump mapping (Blinn)
Bump mapping (Blinn)
5
•
1983: Mapeado de textura sobre polígonos en perspectiva (Heckbert), mip
mapping (Williams)
•
1984: Mapas de iluminación (Miller y Hoffman)
•
1985: Texturas volumétricas (Perlin)
•
1986: Environmental mapping (Greene),Survey of texture mapping (Heckbert)
•
1991: Interpolación para el mapeado de texturas en polígonos (Heckbert)
•
1992: Projective texture mapping (Segal), SGI RealityEngine (mapeado de texturas
por hardware)
•
M. Segal (ingeniero jefe en SGI) fue uno de los autores de la especificación
original de OpenGL
6
CONCEPTOS BÁSICOS
•
Textura: puede ser una textura propiamente dicha (madera, roca,tela), es decir, un
patrón detallado que se repite muchas veces para recubrir un plano, o en una
definición más general, una imagen multidimensional que se mapea en un espacio
multidimensional
•
Se componen de primitivas denominadas texels que definen alguna propiedad
tonal o regional que afecta a la apariencia. Un texel puede corresponder a varios
pixeles
•
Mapeo de texturas: aplicar unafunción en una superficie en 3D. La función puede
tener 1, 2 o 3 dimensiones, y se puede representar mediante arrays o una función
matemática
•
Las texturas en 2D se denominan habitualmente texturas de superficie y las que
realizan un mapeo 3D, texturas volumétricas.
7
•
Aunque la idea de mapear una imagen a una superficie es sencilla, hay 3
o 4 sistemas de coordenadas involucrados:
•
Coordenadasparamétricas: se pueden usar para modelar superficies
curvadas
•
Coordenadas de la textura: para identificar los puntos de la imagen
•
Coordenadas del entorno: conceptualmente, donde tiene lugar el
mapeo
•
Coordenadas de la pantalla: donde se produce la imagen final
8
MAPEADO DE TEXTURAS 2D
•
Las texturas son patrones 2D obtenidos de dibujos, imágenes
reales (texturas bitmap) o funcionesmatemáticas (texturas
procedurales)
•
Se pueden aplicar sobre cualquier superficie; más sencillo si ésta
se define de forma paramétrica
•
Mapeo de puntos de superficie en 3D a coordenadas de imagen
en 2D
f : R → [0, 1]
3
2
9
•
Correspondencia de texturas:
1.Espacio de textura
2.Espacio del objeto
3.Espacio de la pantalla
•
En la fase de renderizado:
“¿a qué texel corresponde estepixel?”
1.Coordenada 2D (pantalla)
2.Coordenada 3D (objeto)
3.Coordenada 2D (textura)
10
•
¿Cómo mapear una imagen en 2D en una superficie en 3D?
•
•
El problema básico es cómo encontrar los mapas
Partiendo de las coordenadas de la textura hacia un punto en la superficie, se
necesitan tres funciones:
x=x(s,t)
y=y(s,t)
z=z(s,t)
•
Como se ha comentado, realmente se quiere ir al revés. Se...
Regístrate para leer el documento completo.