Professional Documents
Culture Documents
CONTENIDO
Bump mapping Displacement mapping Normal mapping Parallax mapping Relief mapping
2
MAPEADO DE TEXTURAS
Denicin: adicin de un patrn denido por separado a una supercie lisa. Tras aadir el patrn, la supercie sigue siendo lisa Del latn textura: tejido, lienzo El mapeado de texturas es una tcnica ecaz y sencilla de aumentar el realismo de una imagen. Simplica la presentacin de supercies complejas Se puede emplear para denir diversos parmetros de la supercie adems del color: la rugosidad, transparencia, brillo... Todas las GPUs modernas desde las Voodoo de 3DFX soportan aceleracin hardware para el mapeado de texturas (va vertex/pixel shaders)
naranja
esfera de color naranja es demasiado simple una malla de miles y miles de polgonos es demasiado costoso imagen que altere las propiedades de la esfera
Modelar
HISTORIA
1974: Edwin Catmull presenta el concepto original de mapeado de texturas para modular los valores de color de una supercie
1983: Mapeado de textura sobre polgonos en perspectiva (Heckbert), mip mapping (Williams) 1984: Mapas de iluminacin (Miller y Hoffman) 1985: Texturas volumtricas (Perlin) 1986: Environmental mapping (Greene), Survey of texture mapping (Heckbert) 1991: Interpolacin para el mapeado de texturas en polgonos (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 especicacin original de OpenGL
CONCEPTOS BSICOS
Textura: puede ser una textura propiamente dicha (madera, roca, tela), es decir, un patrn detallado que se repite muchas veces para recubrir un plano, o en una denicin ms general, una imagen multidimensional que se mapea en un espacio multidimensional Se componen de primitivas denominadas texels que denen alguna propiedad tonal o regional que afecta a la apariencia. Un texel puede corresponder a varios pixeles Mapeo de texturas: aplicar una funcin en una supercie en 3D. La funcin puede tener 1, 2 o 3 dimensiones, y se puede representar mediante arrays o una funcin matemtica Las texturas en 2D se denominan habitualmente texturas de supercie y las que realizan un mapeo 3D, texturas volumtricas.
Aunque la idea de mapear una imagen a una supercie es sencilla, hay 3 o 4 sistemas de coordenadas involucrados:
Coordenadas paramtricas: se pueden usar para modelar supercies curvadas Coordenadas de la textura: para identicar los puntos de la imagen Coordenadas del entorno: conceptualmente, donde tiene lugar el mapeo Coordenadas de la pantalla: donde se produce la imagen nal
MAPEADO DE TEXTURAS 2D
Las texturas son patrones 2D obtenidos de dibujos, imgenes reales (texturas bitmap) o funciones matemticas (texturas procedurales) Se pueden aplicar sobre cualquier supercie; ms sencillo si sta se dene de forma paramtrica Mapeo de puntos de supercie en 3D a coordenadas de imagen en 2D
f : R [0, 1]
3 2
En la fase de renderizado: a qu texel corresponde este pixel? 1.Coordenada 2D (pantalla) 2.Coordenada 3D (objeto) 3.Coordenada 2D (textura)
10
Partiendo de las coordenadas de la textura hacia un punto en la supercie, se necesitan tres funciones:
s = s(x, y, z) t = t(x, y, z)
11
MTODOS DE MAPEADO
Mapeado Mapeo
plano
en dos partes
Desplegado
12
MAPEADO PLANO
El mapeado plano proyecta las coordenadas paramtricas hacia la malla a travs de un plano Ideal para aplicar imgenes sobre supercies planas, ya que la distorsin es mnima mientras las supercies sean paralelas a los planos de proyeccin Proyeccin plana sobre un plano XY de tamao (w,h) (transformada afn para orientar el plano)
13
Una posible solucin al problema del mapeo es aplicar la textura a una supercie intermedia ms sencilla
Se mapea la textura como si fuese una supercie 3D enrollada sobre el objeto (generalmente cilindros, cubos, esferas) Se dene el mtodo en cada direccin (s, t). Primero se aplica la textura sobre un objeto de referencia (S-Mapping) y luego se dene como se mapea este sobre el objeto (O-Mapping).
14
PROYECCIN CBICA
Este mtodo de proyeccin es una variacin del mtodo plano, que repite el mismo mapa u otro sobre cada una de las 6 caras de un cubo. Se usa con el environmental mapping (cube maps)
15
16
PROYECCIN CILNDRICA
Este
mtodo aplica el mapa sobre la supercie juntando los lados del mapa de modo de envolver el objeto con un mapa cilndrico el ms conveniente para objetos cilndricos como tubos, troncos, etc aplicarse de forma que las "tapas" no se cubran
Es
Puede
17
Parametrizacin
del cilindro:
x = r cos(2 u) y = r sin(2 u) z = v/h
Mapea
18
19
PROYECCIN ESFRICA
Aplica La
textura se contrae en los polos de la imagen y se expande por el centro, por lo que las imgenes se distorsionan para adaptarse a la forma esfrica tcnica es til para proyectar mapas sobre objetos redondos como un baln se usa en el environmental mapping
20
Esta
Tambin
Esfera
paramtrica:
x = r cos(2 u) y = r sin(2 u) cos(2 u) z = r sin(2 u) sin(2 u)
Similar
21
22
Mtodos de mapeo: 1.Normales del objeto intermedio hacia el nal 2.Normales del objeto nal hacia el intermedio 3.Vectores desde el centro del objeto intermedio
23
DESPLEGADO
Coordenadas
explcitas: se almacenan las coordenadas de la textura en puntos de control til en la animacin de personajes
Especialmente
24
Se genera una descomposicin del modelo mismo en el espacio 3D que se proyecta en un plano Se puede generar un atlas de textura que contenga las texturas de varias partes de un objeto 3D
25
ARTEFACTOS
Distorsionado
Sin distorsionar
26
(TEXTURIZACIN AVANZADA)
OTRAS TCNICAS
27
BUMP MAPPING
Aade
rugosidad a una supercie, simulando una geometra ms compleja bump mapping cambia la perpendicularidad por otras normales para lograr el efecto deseado, sin modicar la topologa ni la geometra del objeto funciona con la iluminacin
El
Slo
28
29
IDEA ORIGINAL
Blinn, James F. "Simulation of Wrinkled Surfaces", Computer Graphics, Vol. 12 (3), p. 286-292 SIGGRAPH-ACM (Agosto 1978)
30
Mtodo
aproximado:
P (u, v ) = P (u, v ) + B (u, v )N N = N + Bu N Pv Bv N Pu
P(u,v) es un punto de la supercie original B(u,v) es la altura en ese punto (en funcin de una imagen en escala de grises) N es la normal en dicho punto
Mtodo
de interpolacin:
N =
(P1
P )
(P2
P )
Se evalan dos puntos cercanos al punto y se elevan de forma acorde al mapa. Con los tres puntos, se calcula la normal a partir del producto vectorial. Es ms intuitivo y ms exacto.
31
Ventajas:
Rpido, acelerado por hardware Resultado razonablemente rico y detallado, especialmente con luces en movimiento, siempre que la altura de los baches sea baja
Desventajas:
Slo se aprecian en la supercie, no en los contornos Poco realista con mapas de gran elevacin
32
NORMAL MAPPING
Es una variacin del algoritmo de bump mapping de Blinn En lugar de perturbar las normales las reemplaza con vectores normales precalculados
Estas normales sern usadas para calcular la luz que incide y es reejada en ese pixel
Se almacena la informacin de la elevacin en los ejes XYZ en imgenes RGB (rojo=X, verde=Y, azul=Z) de 8/16 bits por pixel donde los valores bajos representan las zonas bajas y los valores altos representan las zonas elevadas
Al contener informacin para los 3 ejes se puede renderizar de forma diferente segn la posicin del espectador, a diferencia del bump mapping, pero tampoco cambia la silueta
http://www.youtube.com/watch?v=AwZ8o5P31cM
33
34
Simulacin de iluminacin sobre mallas detalladas en objetos con poco detalle poligonal
Malla detallada
35
DISPLACEMENT MAPPING
Se
emplea una textura para modicar la propia supercie geomtrica sobre la que se aplica
La
No
es tanto una tcnica para simular objetos complejos como una aproximacin para reducir la memoria necesaria para almacenar modelos complejos un alto realismo
36
Proporciona
La
textura (mapa de alturas) es una imagen 2D en escala de grises que dene la funcin de desplazamiento h
P (u, v ) = P (u, v ) + h(u, v )N (u, v )
37
Displacement mapping
Bump mapping
38
39
PARALLAX MAPPING
Son bsicamente texturas con auto-oclusin en funcin del punto de vista del espectador, lo que incrementa notablemente la sensacin de profundidad y realismo. Desplaza las coordenadas de textura en funcin del ngulo de visin en el espacio tangente y el mapa de alturas en cada punto. En ngulos de visin muy abruptos, las coordenadas de textura se desplazan ms dando la ilusin de profundidad por el efecto de paralaje por cambios del punto de vista. Suele acompaar a las tcnicas de bump mapping y normal mapping.
40
El
parallax mapping almacena los bultos en una textura (mapa de alturas) se observa la supercie en un pixel dado, se recupera el valor de la altura en ese punto y se utiliza para cambiar las coordenadas de la textura un offset a las coordenada de textura adecuadamente se produce el efecto deseado
Cuando
Aplicando
41
42
43
RELIEF MAPPING
Es
una tcnica alternativa al parallax mapping, pero mucho ms precisa, ya que trabaja con auto-sombreado y mapas normales ser simplemente descrito como un raytracing de corta distancia
Puede
44
Calcula el punto de entrada (s,t) y el punto de salida (u,v) Avanza hasta encontrar la interseccin con el mapa de alturas Bsqueda dicotmica (binaria) para renar el punto de interseccin
45
46
REFERENCIAS
Graphics & visualization: principles & algorithms (Theoharis Theoharis,Georgios Papaioannou,N. Platis,Nicholas M. Patrikalakis) http://www.siggraph.org/education/materials/HyperGraph/mapping/r_wolfe_mapping.pdf 3-D computer graphics: a mathematical introduction with OpenGL (Samuel R. Buss) Artculos de!Gamedev.net:!http://www.gamedev.net/reference/list.asp?categoryid=40#212 Modern Texture Mapping in Computer Graphics (Stephan Pajer) Survey of texture mapping (Paul S. Heckbert) Texture Mapping (Pavlo Golik)
47