Funcție fixă ​​- Fixed-function

Funcția fixă este un termen folosit canonic pentru a contrasta API-urile grafice 3D și GPU-urile anterioare proiectate înainte de apariția API-urilor grafice 3D bazate pe shader și a arhitecturilor GPU.

Istorie

API - urile cu funcții fixe din punct de vedere istoric constau dintr-un set de puncte de intrare a funcțiilor care ar fi mapate aproximativ sau direct la logica dedicată pentru scopul lor numit în GPU-uri concepute pentru a le sprijini. Pe măsură ce GPU-urile și API-urile bazate pe shader au evoluat, API-urile cu funcție fixă ​​au fost implementate de inginerii driverelor grafice utilizând arhitectura de umbrire cu scop mai general. Această abordare a servit ca o continuare care ar continua să ofere abstracția API cu funcție fixă ​​cu care au fost experimentați majoritatea dezvoltatorilor, permițând în același timp dezvoltarea și îmbunătățirea noilor arhitecturi bazate pe shader.

OpenGL , OpenGL ES și DirectX ( Direct3D ) sunt toate API-uri grafice 3D care au trecut prin tranziția de la modelul de programare cu funcție fixă ​​la modelul de programare bazat pe shader. Mai jos este un tabel cu momentul în care s-a făcut tranziția de la funcția fixă ​​la umbrele:

API 3D Ultima versiune cu funcție fixă Prima versiune Shader
OpenGL v1.5 v2.0
OpenGL ES v1.1 v2.0
DirectX v7.0 v8.0

Funcție fixă ​​față de umbrere

API-urile cu funcție fixă tind să fie o abstracție de programare mai simplă, cu o serie de etape de conducte grafice bine definite și denumite în mod specific . API-urile bazate pe Shader tratează generic datele grafice (vârfuri și pixeli / texte ) și permit o mare flexibilitate în modul de modulare a acestor date. Tehnici de redare mai sofisticate sunt posibile folosind un API bazat pe shader .