Fast funktion

Fast funktion är en term som kanoniskt används för att kontrastera 3D-grafik- API:er och tidigare GPU:er designade före tillkomsten av shader -baserade 3D-grafik-API:er och GPU-arkitekturer.

Historia

API: er med fasta funktioner av en uppsättning funktionsingångspunkter som ungefär eller direkt skulle mappas till dedikerad logik för deras namngivna syfte i GPU:er utformade för att stödja dem. I takt med att shaderbaserade GPU:er och API:er utvecklades, implementerades API:er med fasta funktioner av grafikdrivrutiningenjörer som använde den mer generella skuggningsarkitekturen. Detta tillvägagångssätt fungerade som en segue som skulle fortsätta att tillhandahålla den API-abstraktion med fasta funktioner som de flesta utvecklare hade erfarenhet av samtidigt som det tillåts vidareutveckling och förbättringar av de nyare shader-baserade arkitekturerna.

OpenGL , OpenGL ES och DirectX ( Direct3D ) är alla 3D-grafik-API:er som gick igenom övergången från programmeringsmodellen med fasta funktioner till den skuggbaserade programmeringsmodellen. Nedan följer en tabell över när övergången från fast funktion till shaders gjordes:

3D API Senaste versionen med fast funktion Första Shader-versionen
OpenGL v1.5 v2.0
OpenGL ES v1.1 v2.0
DirectX v7.0 v8.0

Fast funktion kontra shaders

API:er för fasta funktioner tenderar att vara en enklare programmeringsabstraktion med en serie väldefinierade och specifikt namngivna grafiska pipeline- steg. Shader-baserade API:er behandlar grafikdata (hörn och pixlar / texels ) generiskt och tillåter en stor flexibilitet i hur denna data moduleras. Mer sofistikerade renderingstekniker är möjliga med ett shader- baserat API.

  1. ^   Kirk, David; Hwu, Wen-mei (2013). "Kapitel 2 - Historia om GPU Computing". Programmering av massivt parallella processorer: ett praktiskt tillvägagångssätt . Elsevier/Morgan Kaufmann. s. 23–39. ISBN 978-93-5107-044-3 .