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 .