Modelo de sombreado unificado
# Modelo de sombreado unificado

El término Unified Shader Model se usa para describir dos conceptos similares aunque distintos: la arquitectura de sombreadores unificados y el modelo de sombreadores unificados.

## Unified Shader Model

El modelo de sombreadores unificados (unified shader model), conocida en OpenGL simplemente como el Unified Shader Model, y en Direct3D 10 como Shader Model 4.0) usa un conjunto de instrucciones muy consistente para todos los tipos de sombreadores. Todos tienen casi las mismas capacidades: pueden leer texturas, búferes de datos y realizar el mismo conjunto de operaciones aritméticas.

Sin embargo, el conjunto de instrucciones no es exactamente el mismo entre los diferentes tipos de shaders, ya que por ejemplo solo el sombreador de píxel puede leer texturas con gradientes implícitos de coordenadas, y solo el sombreador de geometría puede emitir primitivas adicionales; etcétera.

Los primeros modelos de shaders (como el Shader Model 1.x) usaban conjuntos de instrucciones muy diferentes para sombreadores de píxeles y vértices, teniendo los sombreadores de vértices un conjunto mucho más flexible. Los modelos posteriores (como el Shader Model 2.x y el 3.x) redujeron las diferencias, orientándose hacia el Unified Shader Model.

## Unified Shading Architecture

Cuando el dispositivo de gráficos implementa Unified Shader Model, tiene sentido diseñar sus unidades de computación para que cualquiera de ellas puede ejecutar cualquier tipo de sombreador. Cuando estas unidades computacionales están unificadas, a eso se le llama Unified Shading Architecture. Muy a menudo dicho hardware está compuesto de un conjunto de unidades de cálculo y una unidad para el balanceo de carga y la asignación dinámica que distribuye las tareas de sombreado entre las unidades de cálculo.

No se requiere que un dispositivo que implemente el modelo unificado de sombreador tenga la arquitectura unificada de sombreado, y viceversa. Un dispositivo Direct3D 10 puede mantener sus procesadores de vértices, geometría y píxeles dedicados (aunque, debido a que tendrían un conjunto de instrucciones muy similares, a nivel de hardware serían muy similares). Por otro lado, un hardware temprano tecnológicamente (por ejemplo, con Shader Model 3.0) puede tener una arquitectura unificada, como en el caso del chip Xenos de la Xbox 360.

La arquitectura de sombreadores unificados permite un uso más flexible del dispositivo de visualización de gráficos. Por ejemplo, en una situación en la que haya mucha sobrecarga con la geometría, el sistema podría ordenar a más unidades de cálculo que procesasen los shaders de vértices y geometría. En casos en los que la sobrecarga sea con el cálculo relacionado con los píxeles y haya poca carga con los vértices, se podría desviar el cálculo para que más unidades realizasen los cálculos de los sombreadores de píxeles.

Procesadores gráficos que tienen una arquitectura de sombreadores unificados incluyen: chips Nvidia a partir de la serie GeForce 8, chips de AMD a partir de la serie Radeon HD 2000, chips S3 Graphics a partir del Chrome 400, chips Intel a partir de la serie GMA X3000 y el chip gráfico Xenos de la Xbox 360.

También hay procesadores gráficos móviles que tienen arquitectura unificada de shaders, como los Mali T600 de segunda generación.

