GeForce 8800GTX og 8800GTS markerer det måske største skridt i DirectX API'ens historie. G80 GPU'en er nemlig native DirectX 10 og opfylder samtlige af Microsofts krav for at kunne smykke sig med denne betegnelse. Faktisk fortæller NVIDIA stolt at G80 har været reference-GPU for DirectX 10 i udviklings- og certificeringsprocesserne. På billedet nedenfor ses et screenshot fra spillet Crysis, der med DirectX 10 power, HDR og Antialiasing absolut viser at der er grund til at glæde sig til applikationer, som benytter den nye API.
Shading er ét af grundlagene for DirectX 10. En anden DirectX 10 feature bliver uden tvivl en øget detaljegrad og en øget detaljemængde. Med DirectX 10 forbedres nemlig instancing, som bruges når en stor mængde objekter - der umiddelbart er ens - hver især får tilføjet individuelle egenskaber. Det kan være en hær af soldater, hvor soldaterne er ens, men står forskelligt eller laver forskellige bevægelser. Et andet eksempel kan være blade på et træ - bladene er geometrisk ens, men vender forskelligt og reflekterer derfor også lys forskelligt.
Med DirectX 10 tillades yderligere features til disse individuelle bevægelser og der kan eksempelvis bruges shader-instruktioner på de enkelte objekter til at variere disse fra mængden.
Som det ses vil især shading være et nøgleord i DirectX 10, men der er nu meget at glæde sig til. I nedenstående tabel ses, hvorledes en række nøglepunkter er forbedret i forhold til DirectX 8 og DirectX 9.
Shader model progression | DX8 SM1.X | DX9 SM2 | DX9 SM3 | DX10 |
Vertex Instructions | 128 | 256 | 512 | 64K |
Pixel Instructions | 4+8 | 32+64 | 512 | 64K |
Vertex Constants | 96 | 256 | 256 | 16x4096 |
Pixel Constants | 8 | 32 | 224 | 16x4096 |
Vertex Temps | 16 | 16 | 16 | 4096 |
Pixel Temps | 2 | 12 | 32 | 4096 |
Vertex Inputs | 16 | 16 | 16 | 16 |
Pixel Inputs | 4+2 | 8+2 | 0 | 32 |
Render Targets | 1 | 1 | 4 | 8 |
Vertex Textures | 0 | 0 | 4 | 128 |
Pixel Textures | 8 | 8 | 16 | 128 |
DirectX 10 er faktisk omskrevet fuldstændigt fra bunden og ikke blot en almindelig videreudvikling af tidligere versioner. Eksempelvis er DirectDraw - som tidligere blev brugt i 2D billeder - nu blevet en fuldt integreret del af Direct3D. Således er DirectX 10 også blevet opdateret med hensyn til dynamic link libraries, der nu skulle være mere effektive og således kunne levere bedre ydelse på samme hardware.
Én af metoderne til at forbedre ydelsen har også været at stramme op omkring de interne regler, der gælder for håndteringen af grafik under DirectX. Således har Microsoft i sin API tilladt mindre plads til at hardwareproducenterne kan fortolke kravene og det skulle ifølge Microsoft give mere ydelse fordi ensretningen vil gøre det nemmere for softwareudviklerne at skrive god kode til de forskellige producenters hardware. Umiddelbart virker NVIDIA meget glade for dette i deres pressemateriale, men siden de også har leveret det færdige silicium til test af API'en kan der være en god grund her. Vi glæder os i hvert fald meget til at se hvordan ATI vil kommentere DirectX 10 når deres hardware engang bliver klar.
Når den bliver klar skal man som forbruger også være opmærksom på at det vil være i Windows Vista at det sjove vil foregå. DirectX 10 bliver "Vista-only" og bliver ikke portet tilbage til Windows XP eller ældre Windows-versioner. Her må man nøjes med DirectX 9. Faktisk vil DirectX 9 også være at finde i Vista, men det skyldes at DirectX 10 ikke er bagudkompatibel med ældre DirectX API'er - så DirectX 9.0L vil faktisk være med i Vista.
DirectX 10 er en stor mundfuld og der vil helt sikkert dukke langt mere info op når Windows Vista lander på butikshylderne. Men for at forklare, hvor stor en forskel den nye API - og den nye hardware - vil kunne gøre har NVIDIA nedenstående eksempel til forklaring:
En ofte besværlig ting at rendere er hår. Hår skal nemlig - for at virke ægte - igennem en lang række komplekse beregninger og dette har hidtil været en opgave, der har været alt for krævende til at spiludviklerne har valgt at bruge kræfter her. I nedenstående tabel ses forskellen i rendering af hår imellem GeForce 7 og GeForce 8 - samtidig en sammenligning imellem DirectX 9 og DirectX 10. Tabellen viser hvilken komponent i systemet, der håndterer hvilken opgave i processen.
Rendering af hår | GeForce 7 series | GeForce 8 series |
Physical simulation on control points | CPU | GPU |
Interpolate and tessellate control points | CPU | GPU |
Save tessellated hairs to memory | CPU | GPU |
Render hair to deep shadow map | GPU | GPU |
Render hair to back buffer | GPU | GPU |
Det ses tydeligt at GeForce 8 selv kan håndtere alle opgaver og slet ikke behøver at sende data til CPU'en for at få det beregnet. Dette frigiver CPU'en til en række andre vigtige opgaver - eksempelvis beregning af lyd eller AI.