Modelo de sombreado unificado es un término que se utiliza para describir dos conceptos similares, pero al mismo tiempo separados: una arquitectura de sombreado unificado ( Arquitectura de sombreado unificado en inglés ), que describe el nivel de hardware, y un modelo de sombreado unificado , que describe la capa de software. .
El Unified Shader Model, conocido en Direct3D 10 como Shader Model 4.0, utiliza un conjunto de comandos coherente (similar) para todos los tipos de shaders [1] . Los sombreadores de todos los tipos tienen capacidades muy similares: pueden "leer" texturas , búferes de datos y ejecutar el mismo conjunto de instrucciones aritméticas.
Sin embargo, el conjunto de instrucciones no es completamente el mismo en todos los tipos de shaders; por ejemplo, solo el sombreador de píxeles puede leer texturas con gradientes de coordenadas implícitos; y solo el sombreador de geometría puede generar primitivas adicionales, y así sucesivamente [1] .
Los primeros modelos de shaders (Shader Model 1.x) usaban conjuntos de instrucciones muy diferentes para los shaders de vértices y píxeles, donde los shaders de vértices tenían un conjunto de instrucciones mucho más flexible. Los modelos de shader posteriores (2.x y 3.0) redujeron cada vez más las diferencias, lo que llevó a un modelo de shader unificado.
Cuando una GPU admite un modelo de sombreador unificado, tiene sentido diseñar sus unidades de cómputo para que cualquiera de esas unidades pueda ejecutar cualquier tipo de sombreador. Cuando las unidades de cómputo de GPU están "unificadas", es decir, capaces de ejecutar cualquier tipo de programa de sombreado, esto se denomina "Arquitectura de sombreado unificado". En la mayoría de los casos, estas GPU se componen de una matriz de unidades de cómputo y unidades de equilibrio de carga/programación dinámica para distribuir la ejecución del programa de sombreado en todas las unidades de cómputo.
No se requiere hardware para tener una arquitectura de sombreado unificado para admitir un modelo de sombreado unificado, y viceversa. Las GPU compatibles con Direct3D 10 aún pueden tener procesadores dedicados de geometría, vértice y píxeles. Las GPU tecnológicamente más antiguas que admiten Shader Model 3.0 también pueden ejecutar parcialmente el Unified Shader Model, como se ve con la GPU Xenos para la consola de juegos Xbox 360 .
La arquitectura de sombreado unificado permite un uso más flexible de los recursos de la GPU [2] . Por ejemplo, en condiciones con simulación de geometría de alto nivel, la arquitectura de sombreado unificado puede usar todas las unidades de GPU para calcular sombreadores de vértice y geometría. Y viceversa; cuando la geometría no es compleja, pero se simulan muchos efectos de píxeles complejos, como el mapeo de oclusión de paralaje , el sistema de partículas, etc., todas las unidades de cómputo se pueden dirigir para ejecutar sombreadores de píxeles.
La arquitectura de sombreado unificado es compatible con GPU GeForce 8 , Radeon R600 , S3 Graphics Chrome 400, Intel GMA X3000, GPU de Xbox 360 , Qualcomm Adreno 200 series , Mali Midgard, GPU PowerVR SGX y más.