Фиксированная функция — это термин, канонически используемый для противопоставления API-интерфейсов 3D-графики и более ранних графических процессоров , разработанных до появления API-интерфейсов 3D-графики на основе шейдеров и архитектур графических процессоров.
Исторически API с фиксированными функциями состояли из набора точек входа функций, которые приблизительно или напрямую сопоставлялись со специальной логикой для названной цели в графических процессорах, предназначенных для их поддержки. По мере развития графических процессоров и API на основе шейдеров инженеры графических драйверов реализовывали API с фиксированными функциями, используя более универсальную архитектуру шейдеров. Этот подход послужил переходом, который продолжил предоставлять абстракцию API с фиксированными функциями, с которой сталкивалось большинство разработчиков, одновременно позволяя дальнейшее развитие и улучшение новых архитектур на основе шейдеров.
OpenGL , OpenGL ES и DirectX ( Direct3D ) — это API-интерфейсы 3D-графики, которые прошли переход от модели программирования с фиксированными функциями к модели программирования на основе шейдеров. [1] Ниже представлена таблица того, когда был осуществлен переход от фиксированных функций к шейдерам:
API с фиксированными функциями , как правило, представляют собой более простую абстракцию программирования с рядом четко определенных и специально названных этапов графического конвейера . API на основе шейдеров обрабатывают графические данные (вершины и пиксели / текселы ) в общем виде и обеспечивают большую гибкость в модулировании этих данных. Более сложные методы рендеринга возможны с использованием API на основе шейдеров .