¿Cómo funciona el mapeo de texturas UVW?


13

Estoy tratando de entender la teoría matemática detrás del mapeo UVW. ¿Alguien puede explicarme cómo funciona el mapeo UVW? O al menos proporcionarme un puntero?



Gracias, pero aún no me queda claro el significado de W. ¿Hay algún tipo de libro a seguir?
Jack

Creo que la W es solo que las texturas generalmente tienen 3 canales, no sé de ningún uso real.
Elva

1
@Yourdoom La W no tiene nada que ver con la cantidad de canales que tiene la textura. Se usa más bien para texturas 3D o texturas en perspectiva.
Chris dice Reinstate Monica el

44
XY es a XYZ, como UV es a UVW. W es solo la letra utilizada al describir la tercera dimensión de la textura.
MichaelHouse

Respuestas:


14

Así lo entiendo. Podría estar totalmente equivocado, pero estoy seguro de que alguien lo haráfuego corrígeme si me equivoco.

La teoría matemática detrás del mapeo de textura UVW es similar a la teoría detrás del mapeo de textura UV.

Vea el enlace de Bummzack aquí: ¿Qué es exactamente el mapeo UV y UVW? para obtener una mejor explicación de lo que es el mapeo UV. Básicamente, está asignando un área de una textura a un área de una superficie. Interpolar los valores intermedios en función de esas asignaciones.

Lo mismo con UVW. Excepto que ahora está asignando un volumen de textura a un volumen de superficies. Interpolando los valores intermedios. Ahora con la tercera dimensión puede deformar una textura 2D para que se ajuste mejor a un objeto.

Veamos cómo se usa esto en texturas 3D. Las texturas 3D se pueden crear mediante capas de texturas 2D e interpolando los elementos intermedios. Visualmente, una textura 3D podría verse así:

Ejemplo de textura 3D

Donde los "planos" en el eje R son texturas 2D. Si tuviéramos que configurar cada capa con un color sólido diferente y aplicar esto a un objeto 3D, obtendríamos algo como esto:

Textura 3D aplicada

Puede ver cómo los colores sólidos se han interpolado entre las capas. Aquí está el mismo tipo de cosas, pero con un paisaje. Donde de arriba a abajo, las texturas pueden ser: nieve, roca, hierba, arena.

Paisaje

Ahora, si solo estamos usando un "plano" R (una textura 2D), pero ¿estamos mapeando un objeto 3D? Obviamente, esto no da tanta flexibilidad como múltiples capas de texturas, pero seguro es mucho menos trabajo. Sin embargo, solo proyectar una textura 2D en una superficie 3D va a causar algunos problemas. Piensa en la situación en la que haces brillar un láser en una pared. En un ángulo perpendicular, el punto láser es agradable y redondo. En cualquier otro ángulo, el punto comienza a estirarse y sesgarse. Lo mismo sucederá al proyectar una textura 2D en una superficie 3D. Cualquier cara que no sea perpendicular a la proyección estará distorsionada. ¿Cómo arreglamos eso? Al distorsionar la proyección. Tomemos el ejemplo del láser, si tuviéramos un láser que al brillar sobre una superficie perpendicular se estirara y se torciera. Cuando proyectamos ese láser en una pared en ángulo, el ángulo podría "La tercera dimensión nos permite "dar forma" a la proyección para que se ajuste a la superficie a la que apuntamos. Por ejemplo, algún tipo de superficie 3D ondulada podría tener una textura como esta (pero no tan mala):

Crummy textura 2D expandida a 3D

Como dije, esto es solo mi comprensión. Estoy de acuerdo, no hay mucha buena información sobre este tema. Esperemos que esta respuesta (probablemente incorrecta) incite a alguien con más conocimiento del tema a hablar.

Las imágenes para las texturas 3D provienen de esta página: http://www.gpwiki.org/index.php/OpenGL:Tutorials:3D_Textures

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.