To da je DirectX 10 obstajal le za Visto, in ne za XP, ni čisto naključje, saj je bil zaradi prenovljenega načina dela gonilnikov v Visti temeljito spremenjen tudi način dela same knjižnice. Zato delovanje z XP-jem ni bilo mogoče in zato tudi DirectX 11 ne bomo videli z XP-jem. A ker so programerji zaradi razširjenosti XP-ja še danes prisiljeni podpirati DX 9, odločitev, da novi DX 11 prek različnih ravni funkcionalnosti podpre tudi strojno opremo za DX 9 (recimo Intel 965, Radeon X200, 9800, GeForce FX, GeForce 6800, Radeon X1800... starejše grafike pa so le redko sploh še v uporabi) bistveno lajša njihovo življenje in krajša čas do produkcije. Odločitev pozdravljamo, čeprav bo v nekaterih primerih pri starejših grafikah vse skupaj potekalo počasneje kot s staro knjižnico.

VEČJI IZKORISTEK GRAFIČNIH PROCESORJEV

Računska zmogljivost novih grafičnih procesorjev (GPU) se povečuje hitreje kot tista v procesorjih, največji problem do zdaj pa je bilo programiranje zanje, saj so do pred kratkim ponujali le nizkonivojske programske jezike, ki so bili precej neprijazni do programerjev. Moč GPU-jev so začeli izkoriščati tudi za izračun fizike in umetne inteligence (vodenje nasprotnika v igri), pa za masovne izračune (SETI, Folding@home) ... Čeprav sta tako Nvidia kot ATI ponudila svoji tehnologiji CUDA (Compute Unified Driver Architecture) in CAL (Compute Abstract Layer), pa bomo splošno uporabnost izračunov z GPU-jem dobili šele z DX 11, v katerega je Microsoft dodal funkcijo DirectCompute.

DirectCompute bo poenostavil programiranje za GPU-je, tako da si recimo fizikalne učinke obetamo v vseh prihajajočih igrah za DX 11, saj bo vse skupaj delovalo ne glede na proizvajalca grafike, napisano v eni isti programski knjižnici ... Od tega si obetamo tudi nove vizualne učinke, saj bo preprosteje programirati realnejše učinke megle, vode, dim, omogočilo pa bo tudi prehod na izrise s sledenjem svetlobe (ray tracing). DirectCompute uvaja tudi možnost dvojne natančnosti, kar pa bo prišlo do izraza predvsem za resnejše izračune, in ne toliko v igrah.


DirectX 11 tudi za Visto
Vse kaže, da Microsoft ne namerava ponoviti napak, ki jih je naredil s knjižnico DirectX 10. Tako smo v začetku novembra izvedeli, da je DirectX 11 že na voljo tudi za Visto. Gre za paket nadgradenj, ki vsebuje še popravke in dodatke slikovne in XPS-knjižnice okolja Windows, sliši pa na ime KB971512. Nadgradnja na DirectX11 bo do konca leta na voljo prek storitve Windows Update, in sicer med izbirnimi nadgradnjami. Če pa jo želite namestiti predčasno, poiščite omenjeni KB971512, izberite pravo različico (x86 ali x64) in jo brezplačno prenesite z Microsoftovih spletnih strani.

STROJNA TESELACIJA

Strojna teselacija (mozaičenje) je prilagodljiva tehnologija, namenjena za samodejno razdelitev večkotnika na manjše in finejše dele, tako da lahko razvijalci pridobijo podrobnejši pogled na objekte v igrah. Prednost je v tem, ker jo dobijo avtomatično skoraj brez dodatnega dela v fazi izvedbe, saj je triangulacija ploskev prenesena na GPU (prej opravljena ročno v modelarskih programih pri snovanju modelov igre).

Po zaslugi tega postopka izdelava končnega modela oziroma njegove slike prestopi meje vidnega zaznavanja, saj se s približevanjem modelu tudi stopnja podrobnosti veča – tako kot v resničnem svetu. Dodatna prednost tega pristopa je, da je nivo podrobnosti dinamičen (lahko odvisen od moči grafične kartice), a to še vedno pomeni, da z bližanjem objektu vidimo vse njegove detajle, in ne le puste površine kot v preteklosti, saj GPU sam določa optimalno število trikotnikov glede na oddaljenost od objekta.

Teselacija bo uporabna tudi pri generiranju likov in njihovi animaciji, še posebej zato ker bodo veliko »lažji« kot v preteklosti. Namesto finske določitve, da je recimo za obraz lika namenjenih 1000 trikotnikov, bo GPU sam izračunal optimalno število. T je lahko tudi veliko večje, če se »kamera« približa obrazu, in hkrati veliko manjša, če se recimo odmaknemo v nebo in na trgu pod seboj gledamo več sto likov ...


Igre za DirectX 11
Medtem ko Nvidia razlaga, da iger s podporo DirectX 11 še ni in jih tudi še ne bo nekaj mesecev (do takrat pa bo na voljo tudi njihov Fermi), pa je AMD hladno objavil seznam prihajajočih iger z napovedano podporo DX 11. Edina igra, ki je že izšla, je EA-jev BattleForge – množična spletna fantazijska igra. Do konca tega leta bi morala iziti še GSC-jev S.T.A.L.K.E.R. Call of Pripyat ter Codemasterjev DiRT 2. V prvih mesecih 2010 prihajata Turbinov Lord of the Rings Online in Rebellionov Aliens vs. Predator. Za leto 2010 so napovedane še igre Dungeons and Dragons Online: Eberron Unlimited, Ghenghis Khan MMO ter pogona za igre Frostbie Frostbite 2 in Trinigy Vision. Kar pomeni, da igre so in prihajajo kmalu v vedno večjem številu (trenutno smo jih napovedanih našteli 20).

BOLJŠE NITENJE

Ker število večjedrnih procesorjev na trgu neumorno raste, so tudi novi programi in igre programirani večnitno (multi-threading). A če se različne niti ukvarjajo z različnimi stvarmi (fizika, umetna inteligenca, grafika), se je v DirectX 10 pogosto zgodilo, da se je med izvajanjem posameznih niti čakalo na sinhronizacijo ukazov za grafično kartico, kar je upočasnjevalo procese na vseh jedrih procesorja. DX 11 omogoča da vsaka nit programa sestavi svojo seznam ukazov grafični kartici, DirectX 11 pa jih sinhronizira preprosteje, tako da ukaze spoji. S tem se je čakanje skrajšalo za faktor 100 ali še več. Prav od te funkcije si obetamo opaznejši prirastek izkoristka novih večjedrnih procesorjev.

NOV SENČILNI POGON

Z novim senčilnim pogonom Shared Model 5.0 Microsoft ne dodaja bleščečih novih funkcionalnosti, temveč v svojem jeziku HLSL omogoča določena načela objektnega programiranja. Namen novosti je omogočiti programerjem preprostejše in preglednejše delo, saj zagotavlja bistveno zmanjšanje ponavljanja kode pri različnih kombinacijah materialov in luči, za katere je treba napisati senčilne modele. Skratka, funkcija, ki bo odpravila prenekaterega hrošča, a je v igrah ne bomo opazili.

DRUGO

Zaradi združljivosti z DX 10 in 10.1 bodo novi mehanizmi senčenja uporabljeni prej, kot si mislimo (prehod na DX 10 je bil počasen), saj lahko programerji iger za DX 10 z zelo malo truda preidejo na DX 11 in s tem ohranijo vse združljivosti, pridobijo pa bistveno več manevrskega prostora.

Moj mikro, december 2009 | Jaka Mele |