Fixed-function

Source: Wikipedia, the free encyclopedia.

Fixed-function is a term canonically used to contrast 3D graphics

GPUs designed prior to the advent of shader
-based 3D graphics APIs and GPU architectures.

History

Historically fixed-function

GPUs designed to support them. As shader
based GPUs and APIs evolved, fixed-function APIs were implemented by graphics driver engineers using the more general purpose shading architecture. This approach served as a segue that would continue providing the fixed-function API abstraction most developers were experienced with while allowing further development and enhancements of the newer shader-based architectures.

OpenGL, OpenGL ES and DirectX (Direct3D) are all 3D graphics APIs that went through the transition from the fixed-function programming model to the shader-based programming model.[1] Below is a table of when the transition from fixed-function to shaders was made:

3D API Last Fixed-function Version First Shader Version
OpenGL v1.5 v2.0
OpenGL ES v1.1 v2.0
DirectX v7.0 v8.0

Fixed function vs shaders

Fixed function APIs tend to be a simpler programming abstraction with a series of well-defined and specifically named graphics pipeline stages. Shader-based APIs treat graphics data (vertices and pixels / texels) generically and allow a great deal of flexibility in how this data is modulated. More sophisticated rendering techniques are possible using a shader-based API.

References