Fixed-function
This article needs additional citations for verification. (February 2023) |
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
- ISBN 978-93-5107-044-3.