

El mapeo de texturas [ 1 ] [ 2 ] [ 3 ] es un término utilizado en gráficos por computadora para describir cómo se proyectan imágenes 2D sobre modelos 3D. La variante más común es el despliegue UV , que puede describirse como un recorte de papel inverso, donde las superficies de un modelo 3D se cortan para que pueda desplegarse en un espacio de coordenadas 2D (espacio UV).
Semántico
El mapeo de texturas puede referirse a múltiples aspectos: (1) la tarea de desplegar un modelo 3D (convertir la superficie de un modelo 3D en un mapa de texturas 2D), (2) la aplicación de un mapa de texturas 2D sobre la superficie de un modelo 3D y (3) el algoritmo de software 3D que realiza ambas tareas.
Un mapa de texturas se refiere a una imagen 2D ("textura") que añade detalles visuales a un modelo 3D. La imagen se puede almacenar como un gráfico rasterizado . Las texturas también pueden almacenar propiedades más allá del color y, en consecuencia, se las denomina con otros nombres, como mapa normal , mapa de rugosidad o mapa de emisión.
El espacio de coordenadas que convierte el espacio 3D de un modelo 3D en un espacio 2D para el muestreo del mapa de texturas se denomina indistintamente espacio UV , coordenadas UV o espacio de textura .
Algoritmo
A continuación se ofrece una explicación simplificada de cómo podría funcionar un algoritmo para generar una imagen:
- Para cada píxel, traza las coordenadas de la pantalla en la escena 3D.
- Si un modelo 3D es golpeado o, más precisamente, el polígono de un modelo 3D golpea las coordenadas UV 2D, entonces
- Las coordenadas UV se utilizan para leer el color de la textura y aplicarlo al píxel.
Historia
La técnica original fue desarrollada por Edwin Catmull en 1974 como parte de su tesis doctoral. [ 4 ]
El mapeo de texturas se refería originalmente al mapeo difuso , un método que simplemente asignaba píxeles de una textura a una superficie 3D ("envolviendo" la imagen alrededor del objeto). En las últimas décadas, la llegada del renderizado multipaso, el multitexturizado , los mipmaps y mapeos más complejos como el mapeo de altura , el mapeo de relieve , el mapeo normal , el mapeo de desplazamiento , el mapeo de reflexión , el mapeo especular , el mapeo de oclusión y muchas otras variaciones de la técnica (controladas por un sistema de materiales ) han hecho posible simular un fotorrealismo casi perfecto en tiempo real , reduciendo enormemente la cantidad de polígonos y cálculos de iluminación necesarios para construir una escena 3D realista y funcional.

Mapas de texturas
AUn mapa de texturas [ 5 ] [ 6 ] es una imagen aplicada ("mapeada") a la superficie de una forma opolígono. [ 7 ] Puede ser unaimagen de mapa de bitso unatextura procedural. Pueden almacenarse enformatos de archivo de imagen, referenciarse medianteformatos de modelos 3Dodefiniciones de materiales, y ensamblarse enpaquetes de recursos.
Pueden tener de una a tres dimensiones, aunque dos dimensiones son lo más común para las superficies visibles. Para su uso con hardware moderno, los datos de los mapas de texturas pueden almacenarse en ordenamientos aleatorios o en mosaico para mejorar la coherencia de la caché . Las API de renderizado suelen gestionar los recursos de los mapas de texturas (que pueden estar ubicados en la memoria del dispositivo ) como búferes o superficies, y pueden permitir el renderizado a textura para efectos adicionales como el posprocesamiento o el mapeo del entorno .
Los mapas de texturas suelen contener datos de color RGB (almacenados como color directo , formatos comprimidos o color indexado ) y, a veces, un canal adicional para la mezcla alfa ( RGBA ), especialmente para vallas publicitarias y texturas superpuestas de calcomanías. Es posible utilizar el canal alfa (que puede ser conveniente almacenar en formatos que el hardware pueda interpretar) para otros usos, como la especularidad .
Se pueden combinar varios mapas de texturas (o canales ) para controlar la especularidad , las normales , el desplazamiento o la dispersión subsuperficial , por ejemplo, para la representación de la piel.
Se pueden combinar varias imágenes de textura en atlas de texturas o texturas de matriz para reducir los cambios de estado en el hardware moderno. (Se podría considerar una evolución moderna de los gráficos de mapas de mosaicos ). El hardware moderno suele admitir texturas de mapas cúbicos con múltiples caras para el mapeo de entornos.
Creación
Los mapas de texturas se pueden obtener mediante escaneo o fotografía digital , diseñar con software de manipulación de imágenes como GIMP o Photoshop , o pintar directamente sobre superficies 3D con una herramienta de pintura 3D como Mudbox o ZBrush .
Aplicación de textura
Este proceso es similar a aplicar papel estampado a una caja blanca lisa. A cada vértice de un polígono se le asigna una coordenada de textura (que en el caso 2D también se conoce como coordenadas UV ). [ 8 ] Esto puede hacerse mediante la asignación explícita de atributos de vértice , editados manualmente en un paquete de modelado 3D a través de herramientas de despliegue UV . También es posible asociar una transformación procedimental del espacio 3D al espacio de textura con el material . Esto podría lograrse mediante proyección planar o, alternativamente, mapeo cilíndrico o esférico . Los mapeos más complejos pueden considerar la distancia a lo largo de una superficie para minimizar la distorsión. Estas coordenadas se interpolan a través de las caras de los polígonos para muestrear el mapa de textura durante el renderizado. Las texturas pueden repetirse o reflejarse para extender un mapa de bits rectangular finito sobre un área mayor, o pueden tener un mapeo " inyectivo " único uno a uno de cada pieza de una superficie (lo cual es importante para el mapeo de renderizado y el mapeo de luz , también conocido como horneado ).
Espacio de textura
El mapeo de texturas transforma la superficie del modelo (o el espacio de la pantalla durante la rasterización) en un espacio de texturas ; en este espacio, el mapa de texturas se visualiza sin distorsiones. Las herramientas de despliegue UV suelen ofrecer una vista en el espacio de texturas para la edición manual de las coordenadas de textura. Algunas técnicas de renderizado, como la dispersión subsuperficial, pueden realizarse de forma aproximada mediante operaciones en el espacio de texturas.
Multitexturización
El multitexturizado consiste en el uso de más de una textura a la vez en un polígono. [ 9 ] Por ejemplo, se puede usar una textura de mapa de luz para iluminar una superficie como alternativa a recalcular esa iluminación cada vez que se renderiza la superficie. Las microtexturas o texturas de detalle se utilizan para añadir detalles de mayor frecuencia, y los mapas de suciedad añaden desgaste y variación; esto puede reducir considerablemente la periodicidad aparente de las texturas repetidas. Los gráficos modernos pueden usar más de 10 capas, que se combinan mediante sombreadores , para una mayor fidelidad. Otra técnica de multitexturizado es el mapeo de relieve , que permite que una textura controle directamente la dirección de una superficie para los cálculos de iluminación; puede dar una muy buena apariencia de una superficie compleja (como la corteza de un árbol o el hormigón rugoso) que adquiere detalles de iluminación además del color detallado habitual. El mapeo de relieve se ha popularizado en los videojuegos, ya que el hardware gráfico se ha vuelto lo suficientemente potente como para soportarlo en tiempo real. [ 10 ]
Filtrado de texturas
La forma en que se calculan las muestras (por ejemplo, cuando se ven como píxeles en la pantalla) a partir de los texeles (píxeles de textura) está determinada por el filtrado de texturas . El método más económico es usar la interpolación del vecino más cercano , pero la interpolación bilineal o la interpolación trilineal entre mipmaps son dos alternativas comúnmente utilizadas que reducen el aliasing o los bordes dentados . En caso de que una coordenada de textura esté fuera de la textura, se recorta o se envuelve . El filtrado anisotrópico elimina mejor los artefactos direccionales cuando se visualizan texturas desde ángulos de visión oblicuos.
Transmisión de texturas
La transmisión de texturas es un método que utiliza flujos de datos para las texturas, donde cada textura está disponible en dos o más resoluciones diferentes. Esto permite determinar qué textura debe cargarse en la memoria y utilizarse en función de la distancia de renderizado desde el observador y la cantidad de memoria disponible para texturas. La transmisión de texturas permite que un motor de renderizado utilice texturas de baja resolución para objetos alejados de la cámara del observador y las convierta en texturas más detalladas, leídas de una fuente de datos, a medida que el punto de vista se acerca a los objetos.
Hornada
Como optimización, es posible renderizar detalles de un modelo complejo de alta resolución o de un proceso costoso (como la iluminación global ) en una textura de superficie (posiblemente en un modelo de baja resolución). Esta técnica se llama horneado (o mapeo de renderizado ) y se usa más comúnmente para mapas de luz , pero también puede usarse para generar mapas normales y mapas de desplazamiento . Algunos videojuegos (por ejemplo, Messiah ) han utilizado esta técnica. El motor de software original de Quake usaba el horneado en tiempo real para combinar mapas de luz y mapas de color en un proceso llamado almacenamiento en caché de superficie .
El horneado de texturas puede utilizarse como una forma de generación de nivel de detalle , donde una escena compleja con muchos elementos y materiales diferentes puede aproximarse mediante un único elemento con una sola textura, que luego se reduce algorítmicamente para disminuir el coste de renderizado y el número de llamadas de dibujo . También se utiliza para tomar modelos de alto detalle de software de escultura 3D y escaneo de nubes de puntos y aproximarlos con mallas más adecuadas para el renderizado en tiempo real.
Algoritmos de rasterización
Se han desarrollado diversas técnicas para la implementación en software y hardware. Cada una ofrece diferentes ventajas y desventajas en cuanto a precisión, versatilidad y rendimiento.
Mapeo de texturas afines

El mapeo de texturas afín interpola linealmente las coordenadas de textura a través de una superficie, lo que lo convierte en la forma más rápida de mapeo de texturas. Algunos programas y hardware (como laPlayStation)proyectanvértices en el espacio 3D sobre la pantalla durante el renderizado einterpolan linealmentelas coordenadas de texturaen el espacio de la pantallaentre ellos. Esto puede hacerse incrementandolas coordenadas UVde punto fijo o mediante unalgoritmo de error incrementalsimilar alalgoritmo de línea de Bresenham.
A diferencia de los polígonos perpendiculares, esto produce una distorsión notable con las transformaciones de perspectiva (como se muestra en la figura: la textura de cuadros aparece doblada), especialmente en las primitivas cercanas a la cámara . Esta distorsión se puede reducir subdividiendo los polígonos en polígonos más pequeños.
El uso de primitivas de cuatro puntos para objetos rectangulares puede resultar menos incorrecto que si esos rectángulos se dividieran en triángulos. Sin embargo, dado que la interpolación de cuatro puntos añade complejidad a la rasterización, la mayoría de las primeras implementaciones preferían únicamente los triángulos. Algunos dispositivos, como el mapeo de texturas directo utilizado por la Nvidia NV1 , ofrecían primitivas de cuatro puntos eficientes. Con la corrección de perspectiva, los triángulos se vuelven equivalentes a las primitivas de cuatro puntos y esta ventaja desaparece.

Para objetos rectangulares perpendiculares al observador (como suelos y paredes), la perspectiva solo necesita corregirse en una dirección a lo largo de la pantalla, en lugar de en ambas. El mapeo de perspectiva correcto se puede calcular en los bordes izquierdo y derecho del suelo. La interpolación lineal afín a lo largo de ese tramo horizontal se verá correcta porque cada píxel a lo largo de esa línea está a la misma distancia del observador.
Corrección de perspectiva
El texturizado con corrección de perspectiva tiene en cuenta las posiciones de los vértices en el espacio 3D en lugar de simplemente interpolar coordenadas en el espacio de la pantalla 2D. [ 11 ] Si bien se logra el efecto visual correcto, el texturizado con corrección de perspectiva es más costoso de calcular. [ 11 ]
Para realizar la corrección de perspectiva de las coordenadas de texturay, conSiendo el componente de profundidad desde el punto de vista del espectador, es posible aprovechar el hecho de que los valores,, yson lineales en el espacio de la pantalla a lo largo de la superficie que se está texturizando. En contraste, el original,, yAntes de la división, los valores no son lineales en la superficie en el espacio de la pantalla. Por lo tanto, es posible interpolar linealmente estos recíprocos en la superficie, calculando valores corregidos en cada píxel, para producir un mapeo de textura con perspectiva correcta.
Para ello, se calculan los recíprocos en cada vértice de la geometría (tres puntos para un triángulo). Vérticetiene recíprocos,, y. Luego, se puede realizar una interpolación lineal sobre estos recíprocos entre losvértices (por ejemplo, usando coordenadas baricéntricas ), lo que da como resultado valores interpolados a lo largo de la superficie. En un punto dado, esto produce el valor interpolado.y(recíproca). Sin embargo, como nuestra división poralteraron su sistema de coordenadas, estono se puede utilizar como coordenadas de textura. Para corregirlo, vuelva alespacio, el corregidose calcula tomando el recíproco una vez más:. Esto se utiliza luego para corregir elcoordenadas:y. [ 12 ]
Esta corrección hace que la diferencia píxel a píxel entre las coordenadas de textura sea menor en las partes del polígono que están más cerca del observador (estirando la textura para que sea más ancha) y mayor en las partes que están más lejos (comprimiendo la textura).
El mapeo de texturas afín interpola directamente una coordenada de textura.entre dos puntos finalesy: dónde.
El mapeo correcto de perspectiva interpola después de dividir por profundidad., luego utiliza su recíproco interpolado para recuperar la coordenada correcta: El hardware de gráficos 3D suele admitir texturizado con corrección de perspectiva.
Se han desarrollado diversas técnicas para renderizar geometría con texturas mapeadas en imágenes con diferentes compromisos de calidad y precisión, que se pueden aplicar tanto al software como al hardware.
Los programas clásicos de mapeo de texturas generalmente solo realizaban un mapeo de texturas simple con un efecto de iluminación como máximo (normalmente aplicado a través de una tabla de consulta ), y la corrección de la perspectiva era aproximadamente 16 veces más costosa.
Rotación de cámara restringida

El motor de Doom limitaba el mundo a paredes verticales y suelos y techos horizontales, con una cámara que solo podía girar sobre el eje vertical. Esto significaba que las paredes mantenían una coordenada de profundidad constante a lo largo de una línea vertical, mientras que los suelos y techos mantenían una profundidad constante a lo largo de una línea horizontal. Tras realizar un cálculo de corrección de perspectiva para la profundidad, el resto de la línea podía utilizar un mapeo afín rápido. Algunos renderizadores posteriores de esta época simulaban una pequeña inclinación de la cámara mediante cizallamiento , lo que permitía una mayor sensación de libertad utilizando la misma técnica de renderizado.
Algunos motores pudieron renderizar mapas de altura con texturas (por ejemplo, Voxel Space de Nova Logic y el motor de Outcast ) mediante algoritmos incrementales tipo Bresenham , produciendo la apariencia de un paisaje con texturas sin el uso de primitivas geométricas tradicionales. [ 13 ]
Subdivisión para corrección de perspectiva
Cada triángulo se puede subdividir en grupos de aproximadamente 16 píxeles para lograr dos objetivos: mantener el proceso aritmético en constante actividad y obtener resultados aritméticos más rápidos.
subdivisión del espacio mundial
Para el mapeo de texturas en perspectiva sin soporte de hardware, un triángulo se divide en triángulos más pequeños para su renderizado y se aplica el mapeo afín. Esta técnica funciona porque la distorsión del mapeo afín se vuelve mucho menos perceptible en polígonos más pequeños. La Sony PlayStation hizo un uso extensivo de esta técnica porque solo admitía el mapeo afín por hardware y tenía un rendimiento de triángulos relativamente alto en comparación con otras consolas.
subdivisión del espacio de la pantalla

Los renderizadores de software generalmente prefieren la subdivisión de pantalla porque requiere menos recursos. Además, intentan realizar una interpolación lineal a lo largo de una línea de píxeles para simplificar la configuración (en comparación con la interpolación afín 2D), lo que reduce aún más los recursos. Otra razón es que el mapeo de texturas afín no se ajusta al bajo número de registros de la CPU x86 ; los procesadores 68000 y RISC son mucho más adecuados para este enfoque.
Se adoptó un enfoque diferente para Quake , que calcularía las coordenadas de perspectiva correctas solo una vez cada 16 píxeles de una línea de exploración e interpolaría linealmente entre ellas, funcionando efectivamente a la velocidad de la interpolación lineal porque el cálculo de perspectiva correcta se ejecuta en paralelo en el coprocesador. [ 14 ] Como los polígonos se renderizan de forma independiente, puede ser posible cambiar entre tramos y columnas o direcciones diagonales dependiendo de la orientación de la normal del polígono para lograr un z más constante, pero el esfuerzo no parece valer la pena.
Otras técnicas
Otra técnica consiste en aproximar la perspectiva con un cálculo más rápido, como un polinomio. Una segunda técnica utiliza elvalor de los dos últimos píxeles dibujados para extrapolar linealmente el siguiente valor. Para este último, la división se realiza a partir de esos valores, de modo que solo hay que dividir un pequeño resto. [ 15 ] Sin embargo, la cantidad de contabilidad necesaria hace que esta técnica sea demasiado lenta en la mayoría de los sistemas.
Una tercera técnica, utilizada por el motor Build Engine (empleada, sobre todo, en Duke Nukem 3D ), se basa en el truco de la distancia constante utilizado por el motor Doom , buscando y renderizando a lo largo de la línea de distancia constante para polígonos arbitrarios.
Implementaciones de hardware
El hardware de mapeo de texturas se desarrolló originalmente para simulación (por ejemplo, en los generadores de imágenes digitales ESIG y DIG de Evans y Sutherland , y Singer-Link) y estaciones de trabajo gráficas profesionales (como Silicon Graphics ), así como para máquinas de efectos de vídeo digital para retransmisiones, como la Ampex ADO . Posteriormente, a mediados de la década de 1990, el hardware de mapeo de texturas apareció en máquinas recreativas , consolas de videojuegos para el consumidor y tarjetas gráficas para PC.
En las simulaciones de vuelo , el mapeo de texturas proporcionó importantes señales de movimiento y altitud necesarias para el entrenamiento de pilotos, que no estaban disponibles en superficies sin textura. Además, el mapeo de texturas se implementó para que el procesador de vídeo pudiera acceder en tiempo real al procesamiento de patrones de textura prefiltrados almacenados en memoria. [ 16 ]
Las unidades de procesamiento gráfico (GPU) modernas proporcionan unidades de función fija especializadas llamadas muestreadores de texturas o unidades de mapeo de texturas , para realizar el mapeo de texturas, generalmente con filtrado trilineal o mejor filtrado anisotrópico multitap , y hardware para decodificar formatos específicos como DXTn . A partir de 2016, el hardware de mapeo de texturas es omnipresente, ya que la mayoría de los SOC contienen una GPU adecuada.
Algunas implementaciones de hardware combinan el mapeo de texturas con la determinación de superficies ocultas en el renderizado diferido basado en mosaicos o en el renderizado por líneas de exploración ; estos sistemas solo obtienen los texeles visibles a costa de utilizar un mayor espacio de trabajo para los vértices transformados. La mayoría de los sistemas se han decantado por el enfoque de búfer Z , que aún puede reducir la carga de trabajo del mapeo de texturas con la clasificación de adelante hacia atrás .
En los primeros equipos gráficos, existían dos paradigmas contrapuestos sobre cómo mostrar una textura en la pantalla:
- El mapeo de texturas directo itera a través de cada texel de la textura y decide dónde colocarlo en la pantalla.
- En cambio, el mapeo de texturas inverso itera a través de los píxeles de la pantalla y decide qué texel usar para cada uno.
De estos métodos, el mapeo inverso de texturas se ha convertido en un estándar en el hardware moderno.
Mapeo inverso de texturas
Con este método, un píxel de la pantalla se mapea a un punto de la textura. Cada vértice de una primitiva de renderizado se proyecta a un punto de la pantalla, y cada uno de estos puntos se mapea a la coordenada texel au,v de la textura. Un rasterizador interpola entre estos puntos para rellenar cada píxel cubierto por la primitiva.
La principal ventaja de este método es que cada píxel cubierto por una primitiva se recorre exactamente una vez. Una vez transformados los vértices de una primitiva, la cantidad de trabajo restante es directamente proporcional al número de píxeles que cubre en la pantalla.
La principal desventaja es que el patrón de acceso a la memoria en el espacio de texturas no será lineal si la textura está en ángulo con respecto a la pantalla. Esta desventaja se suele solucionar mediante técnicas de almacenamiento en caché de texturas , como la disposición de memoria de texturas en bucle .
La interpolación lineal se puede utilizar directamente para un mapeo de texturas afín simple y eficiente , pero también se puede adaptar para corregir la perspectiva .
Mapeo de texturas directo
El mapeo de texturas directo asigna cada texel de la textura a un píxel en la pantalla. Tras transformar una primitiva rectangular en una posición en la pantalla, un renderizador de mapeo de texturas directo itera sobre cada texel de la textura, proyectando cada uno sobre un píxel del búfer de fotogramas . Este método fue utilizado por algunos dispositivos, como la 3DO , la Sega Saturn y la NV1 .
La principal ventaja es que se accede a la textura de forma lineal, lo que permite un almacenamiento en caché muy eficiente de los datos de la textura. Sin embargo, esta ventaja también supone una desventaja: a medida que un elemento primitivo se reduce en pantalla, aún tiene que iterar sobre cada texel de la textura, lo que provoca que muchos píxeles se redibujen de forma redundante.
Este método también es muy adecuado para renderizar primitivas de cuadriláteros en lugar de reducirlas a triángulos, lo que suponía una ventaja cuando no se disponía de texturizado con corrección de perspectiva en el hardware. Esto se debe a que la distorsión afín de un cuadrilátero se ve menos incorrecta que la del mismo cuadrilátero dividido en dos triángulos . El hardware NV1 también permitía un modo de interpolación cuadrática para proporcionar una aproximación aún mejor de la corrección de perspectiva.
El mapeo UV se convirtió en una técnica importante para el modelado 3D y ayudó a recortar correctamente la textura cuando la primitiva se salía del borde de la pantalla, pero el hardware existente no ofrecía implementaciones efectivas de esto. Estas deficiencias podrían haberse solucionado con un mayor desarrollo, pero el diseño de las GPU se ha orientado mayoritariamente hacia el uso de la técnica de mapeo inverso.
Aplicaciones
Más allá del renderizado 3D, la disponibilidad de hardware de mapeo de texturas ha inspirado su uso para acelerar otras tareas:
Tomografía
Es posible utilizar hardware de mapeo de texturas para acelerar tanto la reconstrucción de conjuntos de datos de vóxeles a partir de escaneos tomográficos como para visualizar los resultados . [ 17 ]
Interfaces de usuario
Muchas interfaces de usuario utilizan el mapeo de texturas para acelerar las transiciones animadas de los elementos de la pantalla, por ejemplo Exposé en Mac OS X.
Véase también
Referencias
- ↑ Wang, Huamin. "Mapeo de texturas" (PDF) . Departamento de Ciencias de la Computación e Ingeniería . Universidad Estatal de Ohio . Archivado del original (PDF) el 4 de marzo de 2016. Consultado el 15 de enero de 2016 .
- ↑ "Mapeo de texturas" (PDF) . www.inf.pucrs.br . Archivado (PDF) del original el 19 de agosto de 2019. Recuperado el 15 de septiembre de 2019 .
- ↑ "CS 405 Mapeo de texturas" . www.cs.uregina.ca . Consultado el 22 de marzo de 2018 .
- ↑ Catmull, E. (1974). Un algoritmo de subdivisión para la visualización por computadora de superficies curvas (PDF) (tesis doctoral). Universidad de Utah. Archivado del original (PDF) el 14 de noviembre de 2014. Recuperado el 3 de septiembre de 2015 .
- ↑ Fosner, Ron (enero de 1999). "DirectX 6.0 se vuelve loco con múltiples características nuevas y un código mucho más rápido" . Microsoft.com . Archivado del original el 31 de octubre de 2016. Recuperado el 15 de septiembre de 2019 .
- ↑ Hvidsten, Mike (Primavera de 2004). "Guía de mapeo de texturas de OpenGL" . homepages.gac.edu . Archivado del original el 23 de mayo de 2019. Recuperado el 22 de marzo de 2018 .
- ↑ Jon Radoff, Anatomía de un MMORPG, "Anatomía de un MMORPG" . radoff.com . 22 de agosto de 2008. Archivado del original el 13 de diciembre de 2009. Consultado el 13 de diciembre de 2009 .
- ↑ Roberts, Susan. "Cómo usar texturas" . Archivado del original el 24 de septiembre de 2021. Consultado el 20 de marzo de 2021 .
- ↑ Blythe, David. Técnicas avanzadas de programación gráfica con OpenGL . Siggraph 1999. ( PDF ) (ver: Multitextura )
- ^ Síntesis de mapas de relieve en tiempo real , Jan Kautz 1 , Wolfgang Heidrichy 2 y Hans-Peter Seidel 1 , ( 1 Max-Planck-Institut für Informatik, 2 Universidad de Columbia Británica)
- 1 2 "The Next Generation 1996 Lexicon A to Z: Perspective Correction" . Next Generation . No. 15. Imagine Media . Marzo de 1996. pág. 38.
- ↑ Kalms, Mikael (1997). "Perspective Texturemapping" . www.lysator.liu.se . Archivado del original el 14 de febrero de 2020. Consultado el 27 de marzo de 2020 .
- ↑ " Motor de terreno voxel ", introducción. En la mente de un programador, 2005 (archivado en 2013).
- ↑ Abrash, Michael. Edición especial del libro negro de programación gráfica de Michael Abrash. The Coriolis Group, Scottsdale, Arizona, 1997. ISBN 1-57610-174-6( PDF archivado el 11/03/2007 en Wayback Machine ) (Capítulo 70, pág. 1282)
- ↑ US 5739818 , Spackman, John Neil, "Aparato y método para realizar interpolación con corrección de perspectiva en gráficos por computadora", publicado el 14 de abril de 1998.
- ↑ Yan, Johnson (agosto de 1985). "Avances en imágenes generadas por computadora para simulación de vuelo". IEEE Computer Graphics and Applications . 5 (8): 37– 51. doi : 10.1109/MCG.1985.276213 .
- ↑ "mapeo de texturas para tomografía" . Archivado del original el 16 de agosto de 2024. Consultado el 8 de junio de 2024 .
Software
- TexRecon . Archivado el 27/11/2021 en Wayback Machine . Software de código abierto para texturizar modelos 3D escrito en C++.
Enlaces externos
- Introducción al mapeo de texturas mediante C y SDL (PDF)
- Programación de un terreno texturizado usando XNA/DirectX, de www.riemers.net
- Texturizado con corrección de perspectiva
- Texturizado temporal : mapeo de texturas con líneas de Bézier
- Mapeo de texturas polinomiales . Archivado el 7 de marzo de 2019 en Wayback Machine : Reiluminación interactiva para fotos.
- 3 Métodos de interpolación a partir de puntos (en español) – métodos de interpolación de textura utilizados cuando se conocen las coordenadas de textura en los vértices del polígono
- Herramientas de texturizado 3D
- Mapeo de texturas
- Gráficos por computadora