2010. június 7., hétfő

DirectX-ről érthetően 1-2.

Képzeld azt, hogy a számítógéped egy szendvics! A hardver az egyik szelet kenyér, a szoftver a másik. Ami a két szelet közé megy „tölteléknek”, azok a driverek és a programozási felületek (API). Ez a töltelék végzi a fordítást a hardver és a szoftver között. Így a programozónak nem kell a programját mindegyik hardverre külön-külön megírnia, ehelyett írhatja az operációs rendszer számára, amiben a driverek majd lefordítják azt a hardvernek. A programot írhatja egy programozási felületre (API) is, aminek ugyanez a szerepe. Ennek az az előnye, hogy a programozónak nem kell az összes eszközt ismernie, ami a piacon kapható; a driverei mindent lefordítanak, hogy a hardverek „megértsék”.
A DirectX és az OpenGL jelenleg a legtöbbet használt API a 3D-s programoknál. A játékot nem egyetlen videokártyára írják, hanem a DirectX, vagy az OpenGL parancsait használva, ami majd átkonvertálja a videokártyának a parancsokat.
A DirectX-nek már sok változata van. Ha azt mondjuk, hogy egy játék DX9-es, akkor ez azt jelenti, hogy a játék a DirectX 9 utasításait használja. Ahhoz, hogy játszani tudj ezzel a játékkal, szükséged van a DirectX 9-re és egy azt támogató videokártyára. Amennyiben neked csak DirectX 8-as utasításokat ismerő videokártyád van és a játék olyan utasítást akar végrehajtatni, amit a videokártyád nem ért, akkor megpróbálja azt emulálni. Ez természetesen nem tökéletes, így a látványvilág nem lesz olyan szép, mintha egy DirectX 9-es videokártyával játszanád.
Ajánlott, hogy mindig a legfrissebb DirectX legyen a gépeden. Ezt letöltheted a Microsoft oldaláról. Figyelj azonban, mert amit elsőként felkínál letöltésre, azt azonnal telepíteni is akarja! Ha más számítógépre akarod telepíteni a DirectX-et, akkor a lap alján található redistributable változatot kell letöltened. Ha szeretnéd megtudni, hogy milyen DirectX verzió van a gépeden a következőket kell tenned: Start menü : Futtatás : DxDiag Ha felugrik egy kérdés, válaszolj nemet! Majd a főablakban a System Info rész legalján lesz kiírva a DirectX Version.
Az előzőekben leírtuk, hogy mi az a DirectX és milyen verziói vannak, azonban azt nem, hogy ezek között mik a különbségek. Tehát mi teszi jobbá a DirectX 7-et a DirectX 6-nál?
Általában azért adnak ki új változatot, hogy a rendszer felismerje az új grafikus kártyák erőforrásait, tehát képes legyen ezeket kihasználni, ezzel növelve a 3D-s teljesítményt és javítva a képi világot. A DirectX 6 fő innovációja a bump mapping bevezetése volt. Ezzel a technológiával lehetséges egyenetlen felületeket létrehozni a tárgyakon, így növelve a valósághűséget. A GeForce 256 óta a grafikus chipek azzal is könnyítik a CPU munkáját, hogy a különböző tárgyak generálásához szükséges számítások egy részét a GPU végzi a processzor helyett. Ez a transformation and lighting technológia, melyet T&L-ként rövidítünk. A DirectX 7 azért lett kiadva, hogy ezeket funkciókat kiaknázza. A DirectX 7-es kártyák: GeForce 256, GeForce 2, GeForce 4 MX, GeForce PCX 4300, Radeon 7000, Radeon 7200 és Radeon 7500.



A DirectX 8-al érkeztek a ma jól ismert Pixel és Vertex Shader effektek, még valósághűbbé téve a 3D-s képeket: a 3D-s objektumok sok száz, vagy ezer poligonból (háromszög, vagy négyszög) épülnek fel. Ezekre „húzzák” rá a textúrákat, megalkotva így a 3D-s elemeket. A Vertex Shaderrel a program képes megváltoztatni minden egyes poligon minden egyes vertexét (vertex: a poligonok csúcspontja). A Pixel Shader programmal lehetséges minden poligon minden pixelét (azaz képpontját) megváltoztatni. Amíg ezek a programok meg nem jelentek ez nem volt lehetséges, tehát csak úgy lehetett a vertexeken és a pixeleken változtatni, hogy az az egész poligonra kihatott.
A DirectX 8.0-val a Pixel Shaderbe egyszerre 12 utasítást lehetett programozni, ám ez a limit nagyon alacsony volt, így hamarosan megjelent a DX 8.1, ami a határt 22 utasításra emelte. Az ezt támogató kártyák: GeForce 3, GeForce 4 Ti, Radeon 8500, Radeon 9000, Radeon 9100, Radeon 9200, és Radeon 9250.
A képi világ további javításának érdekében jelent meg a DirectX 9.0, amivel már 92 utasítást lehetett programozni a Pixel Shaderbe. Minden GeForce FX kártya és a Radeon 9500-as szériától egészen az X850XT-ig DirectX 9.0-s. A DirectX 9.0c pedig 65535-re növelte a Pixel Shaderbe programozható utasítások számát. Ezt a GeForce 6, GeForce 7 és Radeon X1*** sorozatú kártyák használják ki (valamint ennél újabb társaik).

Kolombusz | 2006-11-22

0 megjegyzés :

Megjegyzés küldése