16
1 Texturas + = Introducción S. Castro, N. Gazcón CG 2015 Modelo Modelo + Sombreado ¿Qué determina el “aspecto” de un pixel? Iluminación Reflectancia del material de la superficie Posición del observador Medio participativo (niebla, polvo, humo, …) Introducción Hasta ahora hemos tenido escenas con superficies suaves, uniformemente coloreadas Esto no es real. En realidad las superficies son: Multi-coloreadas, rugosas (muy pocas superficies son perfectamente suaves), texturadas (madera, hojas, etc) S. Castro, N. Gazcón CG 2015 Introducción S. Castro, N. Gazcón CG 2015 Modelo Modelo + Sombreado Modelo + Sombreado + Textura Introducción S. Castro, N. Gazcón CG 2015 La mayoría de las superficies de los objetos del mundo real tales como la madera, el mármol, ... no son de un único color sólido sino que presentan una gran variedad de colores provenientes tanto de los distintos efectos producidos por la luz como de las diferencias de color en el material. Es posible lograr efectos visuales muy interesantes aplicando distintas texturas a la superficie de objetos tridimensionales. Introducción S. Castro, N. Gazcón CG 2015 ¿Cuántos polígonos tiene cada escena? Se adiciona detalle a la superficie. Es demasiado caro adicionarlo geométricamente.

Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

1

Texturas

+ =

Introducción

S. Castro, N. Gazcón CG 2015

Modelo

Modelo + Sombreado

¿Qué determina el “aspecto” de un pixel?

• Iluminación

• Reflectancia del material de la superficie

• Posición del observador

• Medio participativo (niebla, polvo, humo, …)

Introducción

Hasta ahora hemos tenido escenas con

superficies suaves, uniformemente coloreadas

Esto no es real. En realidad las superficies son:

Multi-coloreadas, rugosas (muy pocas superficies son

perfectamente suaves), texturadas (madera, hojas, etc)

S. Castro, N. Gazcón CG 2015

Introducción

S. Castro, N. Gazcón CG 2015

Modelo

Modelo + Sombreado

Modelo + Sombreado

+ Textura

Introducción

S. Castro, N. Gazcón CG 2015

La mayoría de las superficies de los objetos del mundo real tales

como la madera, el mármol, ... no son de un único color sólido sino

que presentan una gran variedad de colores provenientes tanto de

los distintos efectos producidos por la luz como de las diferencias de

color en el material.

Es posible lograr efectos visuales muy interesantes aplicando

distintas texturas a la superficie de objetos tridimensionales.

Introducción

S. Castro, N. Gazcón CG 2015

¿Cuántos polígonos tiene cada escena?

Se adiciona detalle a la superficie.

Es demasiado caro adicionarlo geométricamente.

Page 2: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

2

Introducción

S. Castro, N. Gazcón CG 2015

Se debe adicionar detalle a una superficie sin aumentar su complejidad

geométrica.

Para esto, una forma de hacerlo es pegar una imagen 2D que captura

el detalle de la superficie del objeto. Esto modifica las propiedades de la

superficie usadas en el cálculo de la iluminación sin cambiar la

geometría subyacente y dando una ilusión de detalle.

La complejidad de la imagen no aumenta la complejidad en el

procesamiento.

Introducción

S. Castro, N. Gazcón CG 2015

El mapeo de textura puede hacer que una superficie se vea

interesante aunque no lo sea geométricamente.

Introducción

S. Castro, N. Gazcón CG 2015

+ =

Introducción

S. Castro, N. Gazcón CG 2015

Además de incorporar detalle, un

mapeo de textura permitirá cambiar

fácilmente la apariencia de los

objetos.

S. Castro, N. Gazcón CG 2015

Introducción

S. Castro, N. Gazcón CG 2015

Mapeo 2D Mapeo 3D

La aplicación de una textura a un determinado objeto se denomina mapeo de

la textura. Las técnicas de mapeo de texturas se pueden realizar ...

Las texturas se almacenan habitualmente en mapas de textura. A los mapas

2D se los denomina habitualmente texturas de superficie y a los 3D, texturas

volumétricas.

Page 3: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

3

Introducción

S. Castro, N. Gazcón CG 2015

En el proceso de texturado de un objeto debemos considerar:

• El mapa de textura (en el que se

almacena la textura)

• El mapeo de la textura

Consideraremos ambos aspectos en el caso de:

• Texturas de superficie

• Texturas volumétricas

Las Texturas y

los Mapas de Textura

Las Texturas

Las texturas pueden ser volumétricas o de superficie

Ruido de Perlin Heeger y Bergen

Texturas estocásticas

S. Castro, N. Gazcón CG 2015

Las Texturas

S. Castro, N. Gazcón CG 2015

Un mapa de textura es un arreglo de valores que se almacenan en

la memoria de textura. Pueden ser 1D, 2D ó 3D.

El elemento unitario de textura se denomina texel.

Las Texturas

S. Castro, N. Gazcón CG 2015

En el caso más simple, los texels son valores escalares; ej. Color de la

superficie (RGB()).

Un caso más general contempla texels que pueden ser vectores; ej. en

un bump mapping, son normales a la superficie que permiten generar

una rugosidad aparente; en un mapa de ambiente, son vectores de

reflexión que permiten generar una superficie pulida y brillante.

También hay texturas que se generan algorítmicamente en lugar de

almacenarse en un arreglo.

Texturas de

Superficie

Page 4: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

4

Introducción

S. Castro, N. Gazcón CG 2015

Las técnicas de texturado de superficie pueden agruparse en

texturas visuales y texturas espaciales.

Las texturas visuales son simulaciones planas de texturas

tridimensionales y no afectan la forma geométrica de la superficie.

Las texturas espaciales existen en el espacio tridimensional y

afectan la superficie de un objeto.

Introducción

S. Castro, N. Gazcón CG 2015

Texturas Visuales

Las texturas visuales simulan superficies texturadas, aunque éstas

no lo sean realmente. Una textura visual representando una pared

de ladrillos por ejemplo, se verá como un empapelado y será por lo

tanto diferente de una pared de ladrillos del mundo real.

Sin embargo son prácticas porque permiten agregar mucho detalle

rico y complejo a una superficie con una mínima inversión.

Algunas de las más útiles incluyen

mapeo de color y mapas

procedurales, así como también

mapeo de ambiente, bump mapping y

mapas de transparencia.

Introducción

S. Castro, N. Gazcón CG 2015

Texturas Espaciales

Las texturas espaciales están más cerca que las texturas visuales del

concepto de textura táctil real.

Las texturas espaciales pueden crearse modelando una red detallada de

polígonos planos. Esto es muy costoso en tiempo y además es poco

práctico.

Hay métodos más efectivos que

incluyen el uso de mapas de

desplazamiento y las técnicas de

modelado fractal.

Introducción

Las texturas 2D pueden almacenarse, por ejemplo, en un bitmap. En este

caso, son arreglos 2D de valores de color, cada uno de los cuales es un texel.

Esta textura puede escalarse para cubrir diferentes superficies de tamaño y

forma arbitrarios.

S. Castro, N. Gazcón CG 2015

Se vio que un texel es la menor unidad direccionable de un mapa de textura.

Cuando los objetos en la imagen están cerca, un texel se mapea a uno o más

pixels de la pantalla. Cuando los objetos están distantes, se promedian

múltiples texels en un pixel en la pantalla.

Introducción

En la textura de la derecha

El valor de la textura para un determinado texel

puede obtenerse mediante la siguiente función

float Sphere (float s, float t) {

float r = sqrt((s - 0.5)*(s - 0.5) + (t - 0.5)*(t - 0.5));

if (r <= 0.3)

return 1 - r/0.3;

else

return 0.2; } // 0.2 es el background

La función varía desde blanco en el centro a negro en el borde. Cualquier función que

puede calcularse para cada valor de s y t puede proveer una textura válida.

S. Castro, N. Gazcón CG 2015

Mapeo de Texturas

Page 5: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

5

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

¿Cómo se traslada la textura al objeto?

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

Dado un objeto y un mapa de textura debemos ver entonces cómo

podemos aplicar este mapa sobre el objeto.

¿Cómo decidimos dónde debe aplicarse cada color de la imagen

sobre la geometría del objeto 3D?

En el mapeo de texturas 2D el mapeo consiste en establecer un mapeo

entre un punto de la superficie y la textura.

Cuando se renderiza un punto particular de la superficie:

Se busca el texel correspondiente en la imagen de textura

El color final del punto será función del texel correspondiente

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

Mapeo de la Textura

Hay distintas formas de hacerlo

S. Castro, N. Gazcón CG 2015

Distintas proyecciones Desplegado de la superficie

Atlas de texturas

Carta Atlas Superficie

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

¿Mapeo en el espacio del mundo o en el del objeto?

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

En el mapeo de texturas hay distintos sistemas de coordenadas

involucrados

texels

Espacio de la textura Espacio del objeto Espacio de la pantalla

Page 6: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

6

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

Parametrización o Mapeo Renderizado

Hay dos etapas principales en el mapeo de texturas

Mapeo proyectivo compuesto

Mapeo de la Textura

Mapeo de Texturas Básico

Ejemplo del mapeo de una textura a un cuadro que está en la escena.

S. Castro, N. Gazcón CG 2015

Espacio 2D de la textura Espacio del objeto Espacio de la pantalla

Texturas de Superficie:

Mapeo o Parametrización

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

El concepto es simple: Definir un mapeo de la superficie al plano

Para cada triángulo en el modelo establecer una región correspondiente en la

textura dada.

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

Se asignan coordenadas de textura a cada vértice; se pueden tener 1,2,3 o 4

dimensiones de textura por vértice. Permite tener el índice en la textura para

recuperar el texel correspondiente.

Las coordenadas de textura las puede especificar manualmente el programador o

hacer que se generen automáticamente para cada vértice.

Se interpola durante la rasterización y el texturado mismo se realiza durante el

procesamiento de fragmentos.

Mapeo de la Textura

Mapeo de Texturas Básico

S. Castro, N. Gazcón CG 2015

Un mapeo directo

Page 7: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

7

Mapeo de la Textura

Mapeo de Texturas Básico

S. Castro, N. Gazcón CG 2015

En este caso ¿cómo asociamos la textura al objeto? ¿Siempre se

conserva la relación de aspecto de la textura?

Se muestra un mapeo de una forma rectangular en otra donde la

principal distorsión está relacionada con el tamaño; así, el mapeo es

un escalado y luego seguirá la proyección en la pantalla.

Mapeo de la Textura

Mapeo de Texturas Básico

S. Castro, N. Gazcón CG 2015

Asociar un punto Pi a cada vértice Vi es equivalente a tener un polígono P en el espacio

de textura que tiene la misma cantidad de vértices que la cara C del objeto. Usualmente P

tiene la misma forma que C; entonces la parte de la textura dentro de P se copia en C sin

distorsión.

Cuando P y C tienen la misma forma el mapeo es afín; es un escalado acompañado

probablemente de una rotación y/o una traslación.

Primero veremos el caso básico más importante: mapear una textura en una superficie

plana. Ésta es una tarea de modelado

Texturas de Superficie:

Mapeo de Texturas sobre

Superficies Curvas

Mapeo de la Textura sobre Superficies Curvas

Veamos ahora cómo aplicar una textura sobre una superficie curva, tal como

un cilindro o una esfera. Dejaremos para más adelante cómo aplicar una

textura sobre una superficie cualquiera como, por ejemplo, una pieza de

ajedrez.

Asumimos que el objeto está modelado mediante una red poligonal, de modo

tal que consiste en un gran número de pequeñas caras planas.

Cada vértice de la red tendrá asociado un par de coordenadas de textura (si,

ti).

El objetivo es encontrar la coordenada de textura adecuada para cada vértice

de la red poligonal.

S. Castro, N. Gazcón CG 2015

Mapeo de la Textura sobre Superficies Curvas

Mapeo de una textura sobre una

superficie cilíndrica.

En el cilindro, asociamos s a la

coordenada asociada al ángulo y t a

la altura del mismo.

S. Castro, N. Gazcón CG 2015

s tz z

z z

a

b a

a

b a

,

s tz z

z z

a

b a

a

b a

,

Si hay N caras alrededor del cilindro, la i-ésima cara tiene su lado izquierdo sobre

el ángulo θi = 2πi/N, y su vértice superior izquierdo tiene coordenadas de textura

(si,ti) = ((2πi/N - θa)/(θb- θa), 1). Las coordenadas de textura para los otros 3

vértices se deduce de manera similar.

Mapeo de la Textura sobre Superficies Curvas

S. Castro, N. Gazcón CG 2015

Podemos mapear linealmente el cuadrado de textura en una porción

cuadrilátera de la esfera.

Mapeo sobre la Esfera

Otras alternativas podrían ser las siguientes:

Page 8: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

8

Texturas de Superficie:

Rendering

Mapeo de la Textura

Cuando se rasterizan las primitivas:

Se deben tener las coordenadas de textura de cada vértice

Éstas se interpolarán linealmente dentro del triángulo

S. Castro, N. Gazcón CG 2015

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

Mapeo de la Textura

Interpolación de Coordenadas de Textura

¿Cuál es la perspectiva correcta?

S. Castro, N. Gazcón CG 2015

Textura

Mapeo de la Textura

• Interpolación de Coordenadas de Textura

Interpolación lineal en el espacio de la pantalla produce distintos

artefactos

S. Castro, N. Gazcón CG 2015

Mapeo de la Textura

Interpolación de Coordenadas de Textura

Notar que pasos uniformes en el espacio de la pantalla no

corresponden a pasos uniformes en el espacio del mundo

S. Castro, N. Gazcón CG 2015

La interpolación lineal en coordenadas de la pantalla no se corresponde

con la interpolación lineal en coordenadas del mundo o del ojo.

Page 9: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

9

Mapeo de la Textura

Interpolación de Coordenadas de Textura

S. Castro, N. Gazcón CG 2015

Es necesario conocer la correspondencia entre f y g para que, dado el punto en

la pantalla para un f saber a qué punto corresponde en el mundo

Rendering de la Textura

Si nos movemos en pasos iguales a los largo de la recta Ls en la pantalla,

¿qué pasos debemos dar en los texels a lo largo de Lt en el espacio de

textura?

La figura muestra la línea AB en 3D que se transforma en la línea ab en 3D por

la matriz M. El punto A mapea a a y B mapea a b.

S. Castro, N. Gazcón CG 2015

Consideramos el punto R(g) que está a una fracción g del camino entre A y B.

Éste mapea a algún punto r(f) que está a una fracción f del camino entre a y b.

Las fracciones f y g no son las mismas. A medida que f varía de 0 a 1, ¿cómo

varía g? ¿Cómo se corresponde el movimiento a lo largo de ab con el que se

produce a lo largo de AB?

Rendering de la Textura

Interpolación bilineal incorrecta.

Problema agravado

en las rotaciones.

S. Castro, N. Gazcón CG 2015

Si bien el efecto es más visible en el mapeo de la textura, también se presenta en el sombreado.

Rendering de la Textura

Un patrón de muestreo uniforme en espacio de la pantalla corresponde

a algún patrón de muestreo en el espacio de textura que no

necesariamente es uniforme.

S. Castro, N. Gazcón CG 2015

Rendering de la Textura

La densidad de muestreo en el espacio de textura raramente coincide

con la densidad de las muestras en la textura misma.

S. Castro, N. Gazcón CG 2015

Rendering de la Textura

¿Cómo calculamos el color para asignarlo a esta muestra?

S. Castro, N. Gazcón CG 2015

Page 10: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

10

Rendering de la Textura

Por otro lado, las coordenadas de textura interpoladas (s, t) son

valores continuos pero la imagen de textura está indexada

discreta.

¿Cómo calculamos el color de un pixel?

S. Castro, N. Gazcón CG 2015

La opción de usar el vecino más

cercano (la muestra más cercana)

utiliza el color del texel más cercano.

Simple y rápido pero de baja calidad.

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST)

En OpenGL:

Rendering de la Textura

Otra opción para calcular el color de un pixel

consiste en realizar una interpolación lineal

de los colores más cercanos.

S. Castro, N. Gazcón CG 2015

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR)

En OpenGL:

Rendering de la Textura

Tenemos entonces dos maneras de encontrar el color

S. Castro, N. Gazcón CG 2015

Rendering de la Textura

Cuando se busca un punto en la

textura se pueden producir efectos

indeseados.

S. Castro, N. Gazcón CG 2015

Rendering de la Textura

Magnificación

• Un pixel corresponde a una pequeña parte de un texel

• Esto resulta en muchos pixels que tienen el mismo texel

• Sin filtrado se produce aliasing

• Filtro de Magnificación: suaviza la transición entre pixels

S. Castro, N. Gazcón CG 2015

Ajustando la textura al pixel

La textura es demasiado pequeña para un

pixel

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Muchos pixels corresponden a

un texel “bloques” / jaggies /

aliasing

solución: aplicar promediado

(filtro de magnificación)

Page 11: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

11

Rendering de la Textura

Desmagnificación

• Un pixel corresponde a varios texels

• Es común con el acortamiento en perspectiva

S. Castro, N. Gazcón CG 2015

Ajustando la textura al pixel

Muchos texels se corresponden con un

pixel.

Rendering de la Textura

Un pixel se corresponde con

varios texels

S. Castro, N. Gazcón CG 2015

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Una forma de solucionarlo

es mediante el promediado

Rendering de la Textura

Para evitar el aliasing es necesario prefiltrar la textura y remover así

las altas frecuencias

El prefiltrado es esencialmente una integración espacial sobre la

textura

Una integración espacial on the fly sobre la textura es sumamente

costosa. Esto debe hacerse en un paso de preprocesamiento.

S. Castro, N. Gazcón CG 2015

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Acortamiento en perspectiva y

mapeo pobre de textura hace que

el checkerboard se deforme

Mipmaps mejoran el mapeo. Es

una forma más elaborada de

realizar el filtrado evitando el

promediado (costoso)

Rendering de la Textura

Representación MIPmap (multium in parvo, significa

muchos en un lugar).

)

S. Castro, N. Gazcón CG 2015

Crear varias copias

Filtrar reduciendo en tamaño

Texturas pre-filtradas = mipmaps

Se selecciona la textura apropiada basándose en la cantidad de

pixels ocupados por la geometría

Page 12: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

12

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Mipmaps

¿Cuánta memoria

adicional se requiere

para guardar la

textura de esta

forma?

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Optimización del

almacenamiento

Representación MipMap

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

¿Cómo se calcula el nivel de MipMap?

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Mipmaps

Rendering de la Textura

S. Castro, N. Gazcón CG 2015

Sin filtrar MIP Map Suma de áreas

Texturas de Superficie:

Mapeo de Texturas con

Superficies Intermedias

Page 13: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

13

Mapeo de Texturas con Superficies Intermedias

¿Cómo aplicaríamos una textura, por ejemplo, a esta superficie

poligonal?

S. Castro, N. Gazcón CG 2015

Mapeo de Texturas con Superficies Intermedias

Podemos pretender que la superficie es un clindro y movernos por la

textura asignándole coordenadas de la misma a la superficie. Sin duda

que la textura se verá distorsionada.

S. Castro, N. Gazcón CG 2015

Pi

Vi

Normal al Cilindro

Cilindro imaginario

que tiene la textura

Mapeo de Texturas con Superficies Intermedias

Métodos de Proyección

El mapeo de funciones para superficies 3D de formas arbitrarias no

puede encontrarse usualmente de manera simple. Hay distintas

formas de proyectar mapas de imágenes sobre superficies

tridimensionales.

S. Castro, N. Gazcón CG 2015

Mapeo de Texturas con Superficies Intermedias

Métodos de Proyección

Mapeo en dos etapas:

Mapeo S. Mapear la textura 2D a superficie intermedia 3D simple

(esfera, cilindro, cubo)

Mapeo O. Mapear la superficie intermedia (con la textura) a la

superficie destino del objeto (que está siendo renderizado).

S. Castro, N. Gazcón CG 2015

Mapeo de Texturas con Superficies Intermedias

Las dos etapas de mapeo

S. Castro, N. Gazcón CG 2015

Mapeo O. De la superficie intermedia al objeto

Mapeo S. De la textura a la superficie intermedia.

Normal Objeto Centroide Objeto Normal Sup. Intermedia Rayo reflejado

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Mapeo a Superficies Intermedias (Mapeo S)

Podemos mapear la textura utilizando distintas superficies

intermedias:

plano

esférico

cilíndrico

caja (o cúbico)

Page 14: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

14

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección plano

El mapa se aplica en las superficies de modo plano. Es ideal para

aplicar mapas de imágenes sobre superficies planas porque los

resultados son totalmente predecibles y la distorsión es mínima en

tanto las superficies tridimensionales sean paralelas a los planos de

proyección.

La proyección plana también puede aplicarse sobre objetos curvos

para simular distintos efectos.

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección cúbica

Este método de proyección es una variación del método plano, que

repite el mismo mapa u otro sobre cada una de las 6 caras de un

cubo.

Este método es particularmente efectivo con cubos en tanto una de

las caras del cubo sea paralela al plano de proyección.

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección cúbica

Se usan seis mapas planos, uno para cada cara del cubo.

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección cilíndrica

Este método aplica el mapa sobre la superficie juntando los

lados del mapa de modo de envolver el objeto con un mapa

cilíndrico.

Es útil para aplicarlo sobre objetos elongados tales como una zanahoria o

una botella de vino. Puede aplicarse de modo tal que la parte de arriba y la

de abajo no se cubran (not capped).

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección cilíndrica

Las coordenadas del objeto (x, y, z) se convierten a

(radio, , altura).

Para el mapeo de la textura, se convierte en

coordenada s y la altura h se convierte en coordenada t.

Esto posiciona el mapa de textura alrededor del objeto.

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección esférica

Esta proyección aplica un mapa rectangular rodeando el objeto

con el mapa y luego tomando ambos extremos (sup e inf) y

juntando cada uno de éstos hasta que se cubre todo el objeto.

Esta técnica es útil para proyectar mapas sobre objetos redondos tales

como una pelota, etc.

Page 15: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

15

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección esférica

Convierte las coordenadas (x, y, z) a coordenadas

esféricas (, φ).

La longitud (φ) se convierte en coordenada s y la

latitud () en coordenada t.

(z no está apuntando hacia arriba en la imagen)

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Método de proyección de warping

Esta proyección permite que las texturas sean proyectadas sobre una

superficie 3D de manera directa, pero también deformada ajustando los cuatro

lados del mapa sobre la superficie.

Este tipo de proyección es útil para proyectar texturas sobre objetos que

pueden requerir distintos estiramientos sobre el mapa para adecuarlo;

también es efectiva para aplicar texturas a pequeñas porciones de objetos 3D

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Mapeo de la Superficie Intermedia al Objeto (Mapeo O)

¿Cuáles son, en cada uno de los casos las superficies intermedias

utilizadas?

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Mapeo de Textura

Caso en el que es

adecuado un cilindro

como superficie

intermedia

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Mapeo de Textura

Caso en que es

adecuada una esfera

como superficie

intermedia

Mapeo de Texturas con Superficies Intermedias

S. Castro, N. Gazcón CG 2015

Mapeo de Textura

Los objetos complejos usan diferentes mapeos sobre las distintas

partes .

Page 16: Introducción Texturascs.uns.edu.ar/cg/clasespdf/5.1-Texturas.pdftextura sobre una superficie cualquiera como, por ejemplo, una pieza de ajedrez. Asumimos que el objeto está modelado

16

Mapeo de la Textura

S. Castro, N. Gazcón CG 2015

Proceso de Mapeo

Bibliografía

S. Castro, N. Gazcón CG 2015

ACM SIGGRAPH Proceedings

Angel, E., Shreiner, D. Interactive Computer Graphics: A top-down approach

with shader-based OpenGL, Addison Wesley, 2011, 6th. Ed.

Foley, J., van Dam, A., Feiner, S. y Hughes, J., Computer Graphics. Principles

and Practice, Addison Wesley, 1992, 2nd Edition.

Hearn, D., Baker, M.P., Computer Graphics, C Version, Prentice Hall Inc.,

2003, 3rd Edition.

Hill, F. Jr, Kelley, S., Computer Graphics Using OpenGL, Prentice Hall., 2006,

3rd Ed.

Rost, R., Licea-Kane, B., Ginsburg, D., Kessenich, J., OpenGL Shading

Language, Addison-Wesley Professional, 3rd Edition, 2009.

Watt, A., Watt, M., Advanced Animation and Rendering Techniques: Theory

and Practice, Addison-Wesley Publishing Company, 1993.

S. Castro, N. Gazcón CG 2015