x
1

Shader



Un sombreador[1]​ (llamado shader en inglés) es un programa informático que realiza cálculos gráficos escrito en un lenguaje de sombreado que se puede compilar independientemente. Es una tecnología que ha experimentado una rápida evolución destinada a proporcionar al programador una interacción con la unidad de procesamiento gráfico (GPU) hasta ahora imposible. Los sombreadores son utilizados para realizar transformaciones de vértices o coloreado de píxeles, entre otras labores, con el propósito de crear efectos especiales, como iluminación, fuego o niebla.

Para su programación, los sombreadores utilizan lenguajes específicos de alto nivel independientes del hardware sobre el que se ejecuten. Existen sombreadores de diversos tipos dentro de la arquitectura de una GPU, como por ejemplo sombreadores de vértices, sombreadores de geometría, y sombreadores de cómputo para realizar cálculos que no son gráficos, entre otros.

En el 2000 la serie 2 de tarjetas GeForce permitía a la GPU hacerse cargo de funciones de transformación e iluminación que hasta ahora debía hacerlas la CPU, sin embargo no fue hasta la GeForce 3 (2001) que se incluyó la posibilidad de programarlas con la primera versión del modelo de sombreado. Sucesivas versiones de dicho modelo añadieron más funcionalidad: programación de operaciones sobre vértices, píxeles y texturas. Cada tipo de operación disponía de hardware específico en la GPU.

Las GPU modernas llevan sombreadores unificados que permiten realizar distintas operaciones de sombreado con un mismo hardware, eliminando el particionado estático de la misma y maximizando su uso. La primera generación de programación unificada por parte de Nvidia fue el chip G80 usado en las tarjetas GeForce 8 y Nvidia Tesla. La primera generación de ATI (ahora AMD) se introdujo con el chip R600 usado en las tarjetas Radeon HD 2000, basados en la microarquitectura TeraScale. La Xbox 360 fue la primera videoconsola en emplear programación unificada en la GPU de la mano del chip Xenos basado en el diseño unificado de ATI.

Para la escritura de esas instrucciones, los programadores hacen uso de lenguajes de programación diseñados específicamente para ello. Cada uno de estos lenguajes de programación necesita enlazarse mediante una API, entre otras OpenGL, Vulkan o Direct3D. Existen otros lenguajes pero los siguientes son los más conocidos.

A la hora de estudiar rendimientos es difícil aseverar nada. No solo se deben tener en cuenta el fabricante (Nvidia o ATI) sino la versión del modelo de sombreado, el controlador instalado y el lenguaje usado. Usualmente cuanto más avanzada sea la versión del shader, la cantidad de objetos, texturas, efectos ambientales (Sol, Nubes 3D, Humos, Fuegos Realistas, Agua, Iluminación) será mayor; con formas, colores y texturas más realistas.



Escribe un comentario o lo que quieras sobre Shader (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!