Základy 3D grafiky
7. Vykreslovací smyčka
Každá grafická aplikace běží v nějaké nekonečné smyčce. Ta nejzákladnější a nejjednodušší smyčka (loop) vypadá asi nějak takto:

Obr. 1 Vykreslovací smyčka
Po spuštění apliace a načtení všech zdrojů (resources) se kód hry dostává do nekonečné smyčky Update – Draw. Je to naprosto triviální smyčka, v které aplikace zůstává po celou dobu až do okamžiku, kdy ve hře nějakým příkazem Stop, tuto smyčku opustíme a aplikaci ukončíme.
Ve fázi Update se zjišťuje interakce uživatele, tedy například zda byla stisknuta nějaká klávesa, či pohnuto myší. Pokud ano, pak (typicky) u všech objektů, které tvoří 3D scénu, musí být přepočtena jejich nová pozice (transformace). Ve fázi Draw je pak tato nově zkomponovaná scéna odeslána k zobrazení na monitor. Pokud ve fázi Update žádná interakce hráče nebyla zjištěna, kompozice scény se nemění, žádná transformace se počítat nemusí a je hned zavolána procedura Draw, která opět odešle, tentokrát ale nezměněnou, scénu k zobrazení na monitoru.
Nyní si všimněte jedné věci. Pokud nebyla žádná interakce a transformace objektů ve scéně tak nemusela být počítána, snímková frekvence (počet průchodů smyčkou) musí být jiná (vyšší), než kdyby interakce byla a transformace objektů se tak musela počítat. Je to samozřejmě tím, že procesor při výpočtu transformace objektů trávil ve fázi Update delší dobu (musel něco počítat) a průchod smyčkou tak zdržel. Existuje celá řada přístupů - smyček, které berou v potaz i časování, nebo omezení snímkové frekvence.
Fáze Draw
Druhou částí smyčky je fáze Draw, kde má být scéna nebo objekty scény vykresleny na obrazovce monitoru.
Samotné vykreslování scény není prováděno přímo na obrazovku počítače, ale jsou k tomu zapotřebí nějací "pomocníci". V první řadě je to grafická karta, která jako jediná umí komunikovat s monitorem počítače a softwarový prostředek 3D API (Application Programming Interface). Důvod vzniku 3D API je poměrně prostý. Když vývojář vytváří 3D aplikaci, nikdy neví, kdo si jeho hru zakoupí a jakou grafickou kartu ve svém počítači onen uživatel používá. Grafické karty mohou být od různých výrobců a mohou tak používat pro vykreslení scény rozdílné příkazy a kódy. Proto bylo nutné vytvořit mezi samotnou aplikací a grafickou kartou ještě univerzální rozhraní, které by (kromě jiného) na svém vstupu od aplikace převzalo příkazy na vykreslení scény a podle druhu grafické karty by pak tyto příkazy převedlo do jazyka, kterému daná grafická karta rozumí a scénu nakonec zobrazí.
Pokud se zde budeme bavit o operačním systému Windows, v kterém hrajete hry asi nejčastěji, pak jeho „domácím“ 3D rozhraním je DirectX (resp. Direct3D). Druhým používaným grafickým API je na Unixu vzniknuvší OpenGL.