DirectX 8.1
16.11.2003
Prečo som začal s DX
Nevýhodov OpenGL je nekompatibilita rozšírení. Konkrétne rozšírenia týkajúce sa pixel shader sú u kariet rôznych výrobcou rôzne a tým nekompatibilné. Nvidia má GL_NV_texture_shader ( GeForce 3 + ), GL_NV_texture_shader2 ( GeForce 3 + ) a GL_NV_texture_shader3 ( GeForce 4 + ). ATI má GL_ATI_fragment_shader ( Radeon 8500 +). Karty Radeon 9500 + a GeForce FX majú GL_ARB_fragment_program, u nich problém s kompatibilitou nie je. U DX je iný spôsob implementácie rozšírení. Rozšírenia sú pridávané postupne s verziamy DX. Takže napr. DX 7 nepozná pixel a vertex shader-y, ale DX 8.1 už ich má a to verzie pixel shadera do 1.4 a vertex shadera do 1.1. DX 9 má pixel shader 3.0 a vertex shader 3.0.
Ďalší rozdiel medzi OpenGL a DX je v rozšírení. DX sa používa iba vo Windows. OpenGL sa používa vo viacerých operačných systémoch. Ale čo sa týka hier veľká väčšina chodí na Windowsoch a používa DX. Takže je dobré vedieť aj DX, lebo to sa viacej používa.
Prečo DX 8.1 a nie DX 9?
V čase ako som začínal s DX som vlastnil grafickú kartu ATI Radeon 9100, ktorá podporovala väčšinu vecí, ktoré umožňuje DX8.1.
Najväčšie rozdiely medzi OpenGL a DX 8.1
-
suradnicový systém:
OpenGL používa right-handed (os z smeruje von z obrazovky)
DX používa left-handed (os z smeruje do obrazovky) -
textúrové koordinácie:
OpenGL: y smeruje hore a ľavý dolný roh textúry ma súradnice 0,0
DX: y smeruje dole a ľavý dolný roh textúry ma súradnice 0,1
Nutné veci pre skompilovanie DX programu
Najlepšie je mať DX81SDK_FULL.exe (165MB), ale stačí aj stiahnuť hlavičkové súbory a knižnice (2.8MB).
Dokumentácia k DX8.1 je tu (9.5MB).