FarCry può essere considerato il primo gioco che fa uso consistente di shader. Grazie alle DirectX 9, le superfici sono molto realistiche e reagiscono ai cambiamenti della luce. L'ambiente nel gioco è molto ?vivo?.
Le DirectX 9 3D API di Mirosoft, permettono molta libertà di programmazione rispetto le DirectX 8, oltre alla possibilità di creare shader più complesse e lunghe. È stato introdotto anche il ?floating-point data model?, che permette calcoli più precisi per i dettagli.
ATI e NVIDIA sono le due aziende dominatrici del mercato consumer 3D, e le loro schede offrono una varietà di livelli di precisione. Mentre i processori ATi utilizzano una precisione a 24 bit, le schede NVIDIA supportano modalità a 16 e 32 bit. La regola in questo caso è semplice: ?più alta è la precisione, più complessi sono i calcoli?. Il formato dei dati richiesto dipende molto dal tipo di effetto che si vuole creare ? non tutti gli effetti richiedono il massimo livello di precisione.
Le DirectX 9 incorporano diversi modelli pixel shader. Quello originale è il SM 2.0, evolutosi in SM 2.0a e 2.0b. SM 3.0 è una novità completamente nuova e molto recente, supportato a partire dalle DirectX 9.0c. Per ora, solo i processori grafici della linea NVIDIA GeForce 6xxx possono utilizzarlo.
Se volete saperne di più riguardo le varie versioni di DirectX e degli shader associati, troverete molte informazioni nei siti seguenti (In inglese):
- Introduzione alle DirectX 8:
- Shader programmabili per DirectX 8
- Introduzione alle DirectX 9:
- Shader Model 3.0:
- Microsoft DirectX
È importante notare che non potete valutare la grafica del gioco solo rispetto alle DirectX che utilizza. Per esempio, Shader DirectX 8, che possono essere utilizzate per implementare molti effetti nei giochi di oggigiorno, hanno la forza di mettere a dura prova anche i processori di ultima generazione. Gli sviluppatori di giochi tenderanno ad utilizzare la versione più bassa di DirectX possibile, in maniera tale da sviluppare giochi che potranno essere acquistati dalla maggioranza degli utenti, e non solo quelli che possiedono schede grafiche molto potenti. Infine, ricordiamoci che ogni scheda grafica è retrocomaptibile.
Due screenshot della stessa scena del gioco FarCry, una DX8.1 e l'altra DX9.
Molte scheda grafiche entry-level supportano le DirectX 9, ma non sono in grado di fornire un frame rate giocabile a causa della loro limitata potenza. In alcuni casi, il supporto DirectX 9 fa riferimento solo ad alcune aree di interesse. Un primo esempio è la nuova scheda grafica integrata Intel i915G. Anche se questo processore grafico supporta il Pixel Shader 2.0 (fornendo quindi la compatibilità con le DirectX9), tutto il calcolo delle vertex shader è lasciato alla CPU, incrementando il carico di lavoro di quest'ultima.