Ok :
Il y a de cela quelques jours, il y a eu une légère confusion à propos de la version de DirectX supportée par Le cri lointain 2 (lol ok j'arrête de déconner
). En ce moment une déclaration de Vincent Greco, coordinateur technique pour la production internationale, a été rendue publique :
"Vincent Greco: "L'équipe d'Ubisoft a voulu améliorer l'anti-aliasing à travers l'exploitation des Z-buffers de profondeur multicouches. Cette option a été rendue possible soit en utilisant DX10.1, soit en utilisant une extension DX10.0 supportée par les GPU Nvidia DirectX 10. Puisque Nvidia supporte cela nativement dans leur processeur, nous étions ravis d'être en mesure d'optimiser cette possibilité. Dans le cas de Far Cry 2, les 2 options vont fonctionner avec des performances similaires."
Cela explique l'information que nous avions reçue lors de notre interview avec Cedric Decelle (Lead Programmer) et Dominic Guay (Directeur technique). C'est intéressant de voir qu'Ubisoft utilise une sorte d'extension DX10 non officielle pour utiliser la technologie anti-aliasing de DirectX 10.1. Cela requiert une programmation manuelle, dès lors que ces possibilités ne sont pas disponibles dans l'API DX10 mais seulement dans DirectX 10.1. Au final les possesseurs de cartes graphiques Nvidia et AMD/ATI bénéficient des efforts d'Ubisoft et d'un calcul de l'anti-aliasing plus rapide dans Far Cry 2.
Récemment ATI et Nvdia ont tous deux sortis des pilotes spéciaux optimisés pour Far Cry 2. Nous avons déjà contrôlé les GeForce 180.42 bêta et le Catalyst Hotfix pour leurs performances.
-----------
Notes UnF : le Z-buffer est la section du moteur 3D qui stocke les informations géométriques et qui calcule les portions qui sont apparentes à l'écran et celles qui ne le sont pas. Normalement, les cartes modernes ne calculent que les parties géométriques visibles, pour éviter de calculer des choses que l'ont ne voit pas (ça gaspille des performances pour rien).
Après, pour l'anti-aliasing, d'après ce que j'ai compris certaines possibilités DirectX 9 comme le HDR (éclairage dynamique et d'intensité variable) et le parallax mapping par exemple (utilisation d'une texture spéciale pour simuler le relief des matières à la lumière) rendaient impossible l'anti-aliasing (par exemple dans Stalker).
Mais Nvidia a prévu le coup en prévoyant la capacité hardware de calculer malgré tout l'antialiasing (dans Oblivion par exemple, le jeu rendait impossible le HDR et l'AA mais les drivers GeForce 8 le permettaient). Dans Stalker en DirectX 9, c'était possible mais injouable car beaucoup trop gourmand en calculs).
Par contre, DirectX 10 change la donne. Pour les moteurs 3D modernes et gourmands comme Crysis ou Stalker, l'AA est possible mais SUPER gourmand aussi. C'est là que DX10.1 vient améliorer la chose, en jouant sur des méthodes de profondeur de champ etc. Là je n'y pige rien pour être honnête. Mais au final dans Far Cry 2 on profite à la fois de DX10.1 si on a la carte graphique pour, et de DX10.0 "bidouillé" parce que Nvidia avait prévu le coup de leur côté en implémentant la fonction à l'avance dans leur GeForce.
Au final on est gagnants, et je comprends pourquoi Far Cry 2 est superbement optimisé même avec l'AA. Dans Crysis, je ne peux pas le mettre.