En gráficos por computadora , una unidad de mapeo de texturas ( TMU ) es un componente de las unidades de procesamiento gráfico (GPU) modernas. Estas unidades pueden rotar, redimensionar y distorsionar una imagen de mapa de bits para colocarla sobre un plano arbitrario de un modelo 3D dado como textura, en un proceso llamado mapeo de texturas . En las tarjetas gráficas modernas , se implementa como una etapa discreta en una tubería gráfica , [ 1 ] mientras que cuando se introdujo por primera vez, se implementó como un procesador separado, por ejemplo, como se ve en la tarjeta gráfica Voodoo2 .
Antecedentes e historia
La TMU surgió debido a las exigencias computacionales del muestreo y la transformación de una imagen plana (como el mapa de texturas) al ángulo y la perspectiva correctos necesarios en el espacio 3D. La operación computacional consiste en una multiplicación de matrices de gran tamaño , que las CPU de la época (por ejemplo, los primeros Pentium ) no podían gestionar con un rendimiento aceptable.
En 2013, las TMU formaban parte del pipeline de sombreado y estaban desacopladas de los pipelines de salida de renderizado (ROP). Por ejemplo, en la GPU Cypress de AMD, cada pipeline de sombreado (de los cuales hay 20) tiene cuatro TMU, lo que da a la GPU un total de 80 TMU. Esto lo hicieron los diseñadores de chips para acoplar estrechamente los sombreadores con los motores de texturas con los que trabajarán.
Geometría
Las escenas 3D generalmente se componen de dos elementos: geometría 3D y las texturas que la recubren. Las unidades de textura en una tarjeta de video toman una textura y la "mapean" sobre una pieza de geometría. Es decir, envuelven la geometría con la textura y producen píxeles texturizados que luego se pueden mostrar en la pantalla. Las texturas pueden ser una imagen, un mapa de luz o incluso mapas normales para efectos de iluminación de superficie avanzados.
Tasa de relleno de textura
Para renderizar una escena 3D, se aplican texturas sobre mallas poligonales . Este proceso se denomina mapeo de texturas y se realiza mediante unidades de mapeo de texturas (TMU) en la tarjeta gráfica. La tasa de relleno de texturas es una medida de la velocidad con la que una tarjeta gráfica específica puede realizar el mapeo de texturas.
Aunque el procesamiento de sombreado de píxeles está adquiriendo mayor importancia, esta cifra aún conserva cierta relevancia. El mejor ejemplo de esto es la X1600 XT. Esta tarjeta tiene una proporción de 3 a 1 entre procesadores de sombreado de píxeles y unidades de mapeo de texturas. Como resultado, la X1600 XT ofrece un rendimiento inferior en comparación con otras GPU de la misma época y clase (como la 7600GT de nVidia) . En la gama media, el mapeo de texturas puede seguir siendo un cuello de botella. Sin embargo, en la gama alta, la X1900 XTX mantiene esta misma proporción de 3 a 1, pero funciona perfectamente gracias a su capacidad para manejar resoluciones de pantalla máximas y su potencia de mapeo de texturas más que suficiente para cualquier pantalla.
Detalles
Unidades de mapeo de texturas (TMU)
Las texturas necesitan ser direccionadas y filtradas. Esta tarea la realizan las TMU que trabajan en conjunto con las unidades de sombreado de píxeles y vértices . Es función de la TMU aplicar operaciones de textura a los píxeles. El número de unidades de textura en un procesador gráfico se utiliza al comparar dos tarjetas diferentes en cuanto a rendimiento de texturizado. Es razonable suponer que la tarjeta con más TMU será más rápida procesando la información de textura. En las GPU modernas, las TMU contienen Unidades de Dirección de Textura (TA) y Unidades de Filtrado de Textura (TF). Las Unidades de Dirección de Textura asignan texeles a píxeles y pueden realizar modos de direccionamiento de textura. Las Unidades de Filtrado de Textura realizan opcionalmente filtrado de textura basado en hardware .
oleoductos
La arquitectura de la tarjeta gráfica se denomina pipeline y proporciona una idea generalmente precisa de la potencia de cálculo de un procesador gráfico.
El término "pipeline" no se acepta formalmente como término técnico. Existen diferentes pipelines dentro de un procesador gráfico, ya que se realizan distintas funciones simultáneamente. Históricamente, se le ha denominado procesador de píxeles conectado a una TMU dedicada. Una GeForce 3 contaba con cuatro pipelines de píxeles, cada uno con dos TMU. El resto del pipeline se encargaba de operaciones como la profundidad y la fusión de imágenes.
La ATI Radeon 9700 fue la primera en romper con este esquema, al colocar varios motores de sombreado de vértices independientes de los sombreadores de píxeles. La GPU R300 utilizada en la Radeon 9700 tenía cuatro sombreadores de vértices globales, pero dividía el resto de la canalización de renderizado por la mitad (era, por así decirlo, de doble núcleo); cada mitad, llamada quad, tenía cuatro sombreadores de píxeles, cuatro TMU y cuatro ROP.
Algunas unidades se utilizan más que otras, y en un esfuerzo por aumentar el rendimiento general del procesador, intentaron encontrar el punto óptimo en la cantidad de unidades necesarias para lograr una eficiencia óptima sin necesidad de silicio adicional. En esta arquitectura, el término "pipeline de píxeles" perdió su significado, ya que los procesadores de píxeles ya no estaban conectados a unidades de texturizado (TMU) individuales.
El sombreador de vértices llevaba tiempo desacoplado, empezando por el R300, pero el sombreador de píxeles no era tan fácil de implementar, ya que requería datos de color (por ejemplo, muestras de textura) para funcionar y, por lo tanto, necesitaba estar estrechamente acoplado a una TMU.
Dicho acoplamiento se mantiene hasta el día de hoy, donde el motor de sombreado, compuesto por unidades capaces de procesar datos de vértices o píxeles, está estrechamente acoplado a una TMU, pero cuenta con un distribuidor de matriz entre su salida y el banco de ROPs.
Canalizaciones de salida de renderizado (ROPs)
El canal de salida de renderizado (ROP, por sus siglas en inglés) es un término heredado, conocido comúnmente como unidad de salida de renderizado . Su función es controlar el muestreo de píxeles (cada píxel es un punto adimensional), por lo que controla el suavizado de bordes (antialiasing ), que se produce cuando se combinan varias muestras en un solo píxel. Todos los datos renderizados deben pasar por el ROP para escribirse en el búfer de fotogramas , desde donde se transmiten a la pantalla.
Por lo tanto, la ROP es donde la salida de la GPU se ensambla en una imagen de mapa de bits lista para su visualización.
Uso en GPGPU
En GPGPU , se pueden usar mapas de texturas en 1, 2 o 3 dimensiones para almacenar datos arbitrarios. Mediante la interpolación , la unidad de mapeo de texturas proporciona un método práctico para aproximar funciones arbitrarias con tablas de datos.
Véase también
Referencias
- ↑ "The Graphics Pipeline" . Dev Hardware . Archivado del original el 28 de mayo de 2006. Consultado el 11 de mayo de 2006 .
Enlaces externos
- "La geometría diferencial del mapeo de texturas y el sombreado"
- Hardware gráfico
- Geometría en visión por computadora