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 .