Función fija es un término utilizado canónicamente para contrastar las API de gráficos 3D y las GPU anteriores diseñadas antes de la llegada de las API de gráficos 3D basadas en sombreadores y las arquitecturas de GPU.
Históricamente, las API de función fija consistían en un conjunto de puntos de entrada de función que se asignaban de manera aproximada o directa a la lógica dedicada para su propósito designado en las GPU diseñadas para admitirlas. A medida que las GPU y las API basadas en sombreadores evolucionaron, los ingenieros de controladores gráficos implementaron API de función fija utilizando la arquitectura de sombreado de propósito más general. Este enfoque sirvió como una transición que continuaría brindando la abstracción de API de función fija con la que la mayoría de los desarrolladores tenían experiencia, al tiempo que permitía un mayor desarrollo y mejoras de las arquitecturas basadas en sombreadores más nuevas.
OpenGL , OpenGL ES y DirectX ( Direct3D ) son todas API de gráficos 3D que pasaron por la transición del modelo de programación de función fija al modelo de programación basado en sombreadores. [1] A continuación, se muestra una tabla de cuándo se realizó la transición de función fija a sombreadores:
Las API de función fija tienden a ser una abstracción de programación más simple con una serie de etapas de procesamiento de gráficos bien definidas y con nombres específicos . Las API basadas en sombreadores tratan los datos gráficos (vértices y píxeles / texels ) de manera genérica y permiten una gran flexibilidad en la forma en que se modulan estos datos. Es posible utilizar técnicas de renderizado más sofisticadas utilizando una API basada en sombreadores .