GeForceFX: NVIDIA går Hollywood?

NVIDIA 2.0+ Programmerbarheten til piksel- og vertex shaders overgår klart kravene i DirectX 9-spesifikasjonen. Dette er grunnen til at NVIDIA legger vekt på dette ved å legge til en "+" til deres betegnelse. Å presentere alle funksjonene og mulighetene til disse nye shaders er langt utenfor fokuset i denne artikkelen, og til slutt ville bare shaderprogrammerere kunne komme til en konklusjon om verdien av disse funksjonene. Et

NVIDIA 2.0+

Programmerbarheten til piksel- og vertex shaders overgår klart kravene i DirectX 9-spesifikasjonen. Dette er grunnen til at NVIDIA legger vekt på dette ved å legge til en "+" til deres betegnelse. Å presentere alle funksjonene og mulighetene til disse nye shaders er langt utenfor fokuset i denne artikkelen, og til slutt ville bare shaderprogrammerere kunne komme til en konklusjon om verdien av disse funksjonene.

Et skjermbilde av Ogre, tegnet i Spellbound-filmen YEAH. NVIDIA brukte det i en sanntids demo.

En oversikt over GeForceFXs utvidelser:

GeForceFX Vertex Shader 2.0+

Utvidelser i forhold til DirectX 9 (standard):

256 instruksjoner for lagret program (var 128); 256 konstanter (var 96); Vector adresseregister (var en skalar); Maksimalt antall instruksjoner som kan utføres per skygge er nå 65.536.

Høydepunktene, som presenteres av NVIDIA:

Opptil 65.536 topptekstinstruksjoner utført per vertex (opptil 256 statiske instruksjoner per skygge)
CineFX-skyggemotoren avslører en enestående mengde verteksbehandlingsmuligheter. I tillegg til å doble instruksjonslagringen øker tilsetningen av kontrollstrøm dramatisk mengden av faktisk beregning som kan forekomme for hvert toppunkt. Denne fleksibiliteten reduserer det totale antallet vertex shaders som kreves av et program.

Opptil 256 vektorkonstanter
Antall konstante register som er tilgjengelige i CineFX vertex shader har mer enn doblet - fra 96 ​​opp til 256 quad ord! Denne økningen gjør det mulig for vesentlig flere benmatriser for matrikspalettskylling og mange flere samtidige lyskilder.

Seksten midlertidige vektorfiler
Midlertidig lagringsplass har økt med 33% fra 12 til 16. Denne midlertidige lagringen er spesielt nyttig med de større programmene som støttes av CineFX-motoren.

Opptil 64 separate løkker
CineFX vertex-skyggemotoren gir enklere programmer ved å støtte fullt avhengig looping og forgrening (inkludert nestede løkker og grener) med opptil 64 unike grenseverdier i et enkelt shader-program. Looping over all lyskilder og deretter forgrening til riktig lystype er nå en bris.

Per-komponent betingede koder og skrive masker
Tilstandskoder er maskineri bak dataavhengig forgrening, men de kan også forbedre ytelsen og forenkle koden for betingede oppgaver.

Ring og returner (subrutiner)
I tillegg til CineFX-forgreningsfunksjonene støtter vertexprosessoren full subroutine CALL / RETURN semantikk, med en opp til fire dyp anropsstabel.

Løkker og forgrening for både statisk og dynamisk styrestrøm
Helt generell sløyfe og forgrening (sammen med avhengig data referanse) er det som gjør CineFX vertex skyggemotoren så fleksibel og kraftig.

Top