En los últimos 4 años, el hardware gráfico (GPU) experimentó una transición definitiva, de poseer la capacidad para ejecutar una parte sustancial del pipeline gráfico scan-line con algoritmos rígidamente implementados, a poder implementar una estructura de renderizado programable, con la capacidad de vincularse dinámicamente con la aplicación, y -además- la capacidad de ser programada interactivamente desde la aplicación por medio de compiladores incorporados a bibliotecas runtime.
Estas facilidades, más allá de la potencia inherentes al hardware gráfico altamente paralelo, implican una forma completamente diferente y más efectiva de programar aplicaciones gráficas, liberando al desarrollador de la complejidad de implementar complejos modelos de iluminación, los cuales se programan en la GPU con shaders con acceso directo a los valores relevantes del modelo. Estos shaders normalmente requieren muy pocas líneas de código, generalmente modular, paramétrico y autodocumentado.