Funkcja stała - Fixed-function

Funkcja stała to termin kanonicznie używany w celu określenia kontrastu między interfejsami API grafiki 3D i wcześniejszymi procesorami graficznymi zaprojektowanymi przed pojawieniem się interfejsów API grafiki 3D opartych na modułach cieniujących i architektur GPU.

Historia

W przeszłości interfejsy API o stałych funkcjach składały się z zestawu punktów wejścia funkcji, które w przybliżeniu lub bezpośrednio odwzorowywały dedykowaną logikę dla ich nazwanego celu w procesorach graficznych zaprojektowanych do ich obsługi. W miarę ewolucji procesorów graficznych i interfejsów API opartych na modułach cieniujących, inżynierowie sterowników graficznych zaimplementowali interfejsy API o ustalonych funkcjach przy użyciu bardziej ogólnej architektury cieniowania. Podejście to służyło jako przejście, które nadal zapewniało abstrakcję interfejsu API o ustalonych funkcjach, z którą większość programistów miała doświadczenie, jednocześnie umożliwiając dalszy rozwój i ulepszenia nowszych architektur opartych na modułach cieniujących.

OpenGL , OpenGL ES i DirectX ( Direct3D ) to interfejsy API grafiki 3D, które przeszły przejście od modelu programowania o ustalonych funkcjach do modelu programowania opartego na modułach cieniujących. Poniżej znajduje się tabela przedstawiająca moment przejścia ze stałej funkcji na shadery:

3D API Ostatnia wersja o ustalonej funkcji Pierwsza wersja Shadera
OpenGL v1.5 v2.0
OpenGL ES v1.1 v2.0
DirectX v7.0 v8.0

Naprawiono funkcję a shadery

Stałe funkcje API są zwykle prostszą abstrakcją programistyczną z serią dobrze zdefiniowanych i specjalnie nazwanych etapów potoku graficznego . Interfejsy API oparte na modułach cieniujących traktują dane graficzne (wierzchołki i piksele / teksele ) w sposób ogólny i zapewniają dużą elastyczność w sposobie modulacji tych danych. Bardziej wyrafinowane techniki renderowania są możliwe przy użyciu interfejsu API opartego na modułach cieniujących .