Professional Documents
Culture Documents
Dpto. de Informática
Fac. Cs. Físico-Mat. y Nat.
Universidad Nacional De San Luis
Argentina
Simulación de la Apariencia - Texturas
Tipos de Texturas
Dimensiones
- 2D -
• Utiliza un mapa de pixels como referencia.
• Debe decidir cómo “pegar” el pixmap sobre el objeto.
• Es equivalente a pintar sobre la superficie del objeto.
- 3D -
• Presume que un valor de textura existe en cualquier
lado en el dominio del objeto.
• Debe decidir que color debe ir sobre la superficie del
objeto.
• Es equivalente es esculpir o grabar un objeto desde
un bloque sólido de material.
• Utiliza técnicas procedurales.
Texturas 2D
• Las texturas de los objetos reales usualmente exhiben modulación de color y superficie.
• La mayoría de los métodos modulan el color de una superficie usando motifvos repetitivos o
imágenes de fotogramas grabados.
Efectos Visuales:
• Mapping de texturas No Paramétricas
– El tamaño de la textura y su orientación
son fijas.
– No se relacionan con el tamaño y orientación
del polígono.
– Genera un efecto de cortador de galleta.
Texturas Paramétricas
Una textura es cualquier característica evaluada sobre un punto usando sólamente la
información local del punto.
• Problemas:
– Se debe inventar una parametrización adaptable (los objetos estandares son objetos de mallas
poligonales).
– Anti-aliasing.
Texturas Paramétricas
Consideraciones
• Qué atributos o parámetros del modelo u objeto deben ser modulados para producir el
efecto de textura desado?
– El detalle se encuentra en los parámetros modulados.
– Qué clase de parámetros?
* Color de la Superficie (colores ambiental, difuso y especular).
* Exponente Especular.
* Transparencia, Reflectividad (ej., nubes, vidrio grabado).
* Perturbación del vector Normal (“chichones”).
* Luces proyectadas y sombras. Reflexión especular y difusa (Mapping Ambiental).
* Datos a visualizar (ej., temperatura, stress, elevación).
• Cómo debe realizarse el mapping de la textura? Dado que una textura está definida en un
dominio de la textura y un objeto existe como dato en el espacio del mundo, es necesario
definir un mapping entre estos dominios.
• El mapping de la textura requiere tratamiento especial anti-aliasing debido a que tiende a
producir peores efectos de aliasing que otras técnicas asociadas con la síntesis de imágenes.
Rio 14 - Roberto Guerrero @ 2014 6
Simulación de la Apariencia - Texturas
Mapping de Textura
Motivación
Mapping de Textura
Mappings
• Una función es un mapping:
– Las funciones mapean valores de un subconjunto de dominio a otro subconjunto de un co-dominio
(llamado rango).
– Cada valor en el dominio será mapeado a un valor en el co-dominio.
• Se puede transformar un espacio en otro por medio de una función
– Para intersectar rayos se utiliza una transformación lineal que mueve puntos y vectores entre
espacios necesarios.
– Primero se mapea los puntos del espacio de pantalla a puntos del espacio de cámara normalizado.
– Luego, se mapea los rayos del espacio de cámara normalizado a rayos del mundo no normalizado.
– Finalmente, se mapea rayos del mundo no normalizado a rayos del espacio de los objetos no
transformados de manera que se pueda computar los puntos de intersección en el espacio de los
objetos.
• Tenemos puntos sobre una superficie en el espacio del objeto (el dominio).
• Es necesario conseguir valores de un mapa de textura (el co-dominio).
• Es necesario utilizar un mapping inverso.
Mapping de Texturas 2D
Definición
• El mapping de textura es el proceso de mapear un punto geométrico a un color en un mapa
de textura.
• Lo deseado es poder mapear cualquier geometría en cualquier pixmap de dimensión
arbitraria.
• Se considera que:
– una textura vive en su propio sistema de coordenadas de imagen
abstracto parametrizado por (u,v) en el rango([0..1], [0..1]):
– éste puede ser enrollado alrededor de
diferentes superficies paramétricas:
Mapping de texturas 2D
Idea Básica
• Hacer en dos pasos:
– Mapear un punto sobre una geometría arbitraria a un punto de un cuadrado unitario
abstracto representando un pixmap concreto.
– Mapear el punto sobre el cuadrado unitario abstracto a un punto sobre un pixmap
concreto de dimension arbitraria (foto digitalizada, clip art o una imagen
computarizada previamente con alguna herramienta).
Mapping de texturas 2D
Ejemplos de pixmaps
vtex
htex
u tex
foto wtex
Rio 14 - Roberto Guerrero @ 2014 11
Simulación de la Apariencia - Texturas
Mapping de texturas 2D
Ejemplos de pixmaps
v
tex
htex
u tex
Pixmap procedural wtex
Rio 14 - Roberto Guerrero @ 2014 12
Simulación de la Apariencia - Texturas
Mapping de texturas 2D
Paso 2: De un cuadrado unitario a un pixmap
plano de
textura 0, 0 mapa de textura
unitario (un pixmap arbitrario)
0.0, 0.0 u
• En el ejemplo de arriba:
(0.0, 0.0) => (0, 0)
(1.0, 1.0) => (100, 100)
(0.5, 0.5) => (50, 50)
Mapping de texturas 2D
• En general, para un punto (u, v) sobre un plano unitario, el correspondiente punto en el
espacio de la imagen es
Mapping de texturas 2D
Paso 1: Mapping de un punto 3D - Raytracing de Texturas
• Usando el disparo de un rayo se obtiene un punto en el espacio del objeto, (x, y, z).
• Nota: es fácil calcular la proyección desde (x, y, z) a (u, v) a partir del espacio del objeto no
transformado.
– es mucho más fácil proyectar desde la definición de un objeto simple en el espacio del
objeto (x, y, z) al espacio de textura (u, v).
w
vtex
utex
Geometrías Complejas
Cómo pegar un patrón de textura sobre un objeto de malla de polígonos?
Geometrías Complejas
• Es necesario decidir como pegar el pixmap en el objeto.
• Se podría texturizar polígono por polígono en cada cara de la casa (simple, pues son planos).
• Sin embargo, causa discontinuidades en los bordes de los polígonos.
– Es necesario una textura sin discontinuidades en los bordes.
Geometrías Complejas
Mapping de textura a un casa con una esfera
• Enfoque intuitivo: colocar una esfera envolvente alrededor del objeto complejo.
Geometrías Complejas
Mapping de textura a un casa con una esfera
Geometrías Complejas
Mapping de textura a un casa con una esfera
Geometrías Complejas
Mapping de textura a un casa con una esfera
Geometrías Complejas
• Enfoque no intuitivo: tratar cada punto sobre el objeto complejo como un punto de la esfera,
y proyectar utilizando mapping uv esferico.
• Observar que una esfera tiene radio constante, y no así la casa. La distancia desde el centro
de la casa al punto de intersección (radio) cambia según donde se encuentre el punto.
Geometrías Complejas
• Cómo decidir cuál es el radio que se debe utilizar para la esfera en el mapping uv? Las
intersecciones con la casa suceden a diferentes radios.
• Respuesta: el mapping esférico de (x,y,z) a (u,v) presentado era en función del radio, pero no
asume que la esfera tiene radio unitario.
• Se debe utilizar siempre una esfera con su centro en el centro del modelo (casa) y con un
radio igual a la distancia desde el centro al punto de intersección actual.
Geometrías Complejas
Selección de funciones de aproximación
• Se utilizó un mapping uv esférico para simplificar el proceso.
Geometrías Complejas
Ejemplos
• Plano como superficie intermedia.
Geometrías Complejas
Ejemplos
• Cilindro como superficie intermedia.
Geometrías Complejas
Ejemplos
• Esfera como superficie intermedia.
Geometrías Complejas
Ejemplos
• Diferentes superficies intermedias.
Consideraciones
Transformaciones
• El mapa de textura debe ser transformado junto con el objeto en el espacio del mundo.
– ej., si la textura mapeada de una esfera es escalada 2.0 en y, luego el mapa de textura se debe
estirar en un factor de 2.0 en y también.
Consideraciones
Aliasing
• La parte computacionalmente difícil es cubrir grandes áreas de muestras con pocos pixels:
• Varios métodos:
– Fuerza bruta (simplemente sumar).
– Mip maps
– Summed Area Tables
Mip Maps
Mapping de Texturas 3D
• La textura 3D es obtenida por medio de generación procedural.
• Las coordenadas en el espacio del objeto son utilizadas para indexar un procedimiento que
define el ámbito de textura 3D del punto.
• Los objetos reciben una textura en sus superficies en un manera “coherente”.
Mapping de Texturas 3D
Ejemplos
Mapping de Bultos/granos
• Realizar el texturizado de un objeto cuya textura es tosca, nunca se ve bien; la iluminación
siempre sale mal.
• Un truco: utilizar un arreglo de valores que perturben las normales de la superficie (calcular
el gradiente entre los valores y sumarlos a la normal).
• Luego evaluar la ecuación de iluminación con las normales perturbadas.
• El efecto a lo largo de la superficie es convincente,
pero los bordes de la silueta aparecen perturbados.
• Ejemplo: una frutilla:
Mapping de Bultos/granos
f(u,v)
Mapping de Bultos/granos
Mapping de Bultos/granos
El papel de estaño en la obra “El beso” de Hershey se ve muy sintético…
Mapping de Bultos/granos
Objeto
Objetosin
sinBump
Bumpmapping
mapping La textura de bultos codifica Objeto con Bump mapping
normales o desviaciones de
la normal