| [ Vendredi 9 février 2007 ] | par Léo de Urlevan |
La grosse nouveauté de Direct3D 10 réside dans les shaders models. Tout ce qui existait avec DirectX 9.0C reste inchangé. Mais il faut désormais compter avec les Geometric Shaders. Petit rappel de la version précédente. Les Shaders Models sont des programmes permettant de calculer le rendu d’une image. Les pixels shaders donnent individuellement la luminosité d’un point. Les Vertex Shaders se concentrent sur la géométrie et l’éclairage global d’une image. Les Geometric Shaders, eh bien, euh pareil ! Mais mieux. Pour faire simple, ils vont venir compléter, et/ou complexifier un modèle 3D existant. Les cartes DirectX 10 vont donc nous apporter une multitude de détails à des objets 3D déjà fort complexes. Concrètement, prenez Crysis. Les ombrages dynamiques des arbres au sol, c’est le boulot des Geometric Shaders, nos nouveaux amis. Les arbres de Supreme Commander qui ondulent au gré du vent en DirectX10 et qui restent fixes avec 9.0C, vous croyez que ça vient d’où ? Ils interviennent également dans les effets de particules ou les ombrages des effets de particule ! Bref, Alan Wake n’aurait pas été si bluffant sans eux. La technologie des shaders fonctionne différemment ; elle est maintenant unifiée. Concrètement, avant, une partie de la mémoire était alloué aux pixels et une autre aux vertex. Parfois, il y avait saturation d’un côté tandis que l’on se la coulait douce de l’autre. Avec l’unification, tout le monde effectue son petit travail au même endroit, sans se marcher dessus ni monopoliser une partie de la mémoire qui ne servira pas.
Alpha to Coverage
C’est le meilleur antialiasing qui existe. C’est le procédé qui permet d’éviter les effets d’escaliers. Bien que cet effet n’ait pas arrêté de s’améliorer d’année en année, des problèmes subsistaient, à cause des transparences (dès lors qu’il était possible de voir à travers quelque chose : feuilles, grille). D’autres modifications devraient arriver à ce sujet avec DirectX 10.1 et l’arrivée d’un moteur physique.
Instancing
Amateurs du Seigneur des Anneaux, cette fonction est faite pour vous. Ca existe déjà : cela consiste à afficher le même objet 3D dans des postures différentes, en une seule passe pour soulager les calculs du GPU. Cette technique est améliorée car la luminosité appliquée à chaque objet n’est pas forcément la même. Ce qui nous réserve un joyeux bazar à l’écran.
HDR
Cet effet de lumière si cher à Paul Debevec (www.debevec.org : il faut absolument voir son film sur le Parthénon, téléchargeable sur son site) devrait inonder nos moniteurs dans tous les jeux dans la mesure où les ingénieurs de Microsoft ont trouvé le moyen d’insérer cette technologie en mode natif. Le HDR, à propos, c’est quoi ? Debevec est un homme curieux. Il y a quelques années, lorsqu’il débarquait chez vous, ou dans une forêt, ou une église, il ne sortait pas sans quelques boules de quelque dix centimètres de diamètre qu’il s’amusait à photographier sous tous les angles. Oui, les ingénieurs sont des gens curieux. Déjà, quand un graphiste s’amuse à immortaliser sur son numérique des murs pour créer des textures il passe pour un allumé… Debevec, avec toutes ses photos, arrivait à reconstituer une sorte d’identité lumineuse d’un lieu puis à sortir des lignes de code HDR correspondant, par exemple, à la luminosité d’un coucher de soleil au bord du Golden Gate. A partir de là, tout était ouvert. Vous pouvez baigner n’importe quel zone 3D d’une ambiance venant d’ailleurs. Ce fameux coucher de soleil au milieu de la Chapelle Sixtine, par exemple… Notons cependant que les développeurs ne se sont pas encore tout à fait lâchés au niveau de la fantaisie. L’application la plus courante du HDR consiste à éblouir le joueur quand il passe d’une zone sombre à une zone plus lumineuse (Half-Life², les épisodes) ou de saturer, « cramer » la représentation de la mer quand le soleil est au beau fixe (Age of Empires III). Bref, la technique est encore sous exploitée car pour le moment, elle ne simule que la vision humaine.
Parallax Mapping
C’est l’évolution du bump mapping. C’est la technologie consistant à créer des effets de reliefs sur des textures. L’exemple le plus frappant, ce sont des impacts de balle ou de missiles sur une surface. Ces impacts ne sont pas réellement des sprites en 2D mais des objets bien plus complexes. Si l’on zoome dessus à l’infini, cela ne pixelisera pas. De plus, les balles qui se placeront les unes à côté des autres seront « raccord » car le procédé répond à une équation mathématique calculant l’objet pixel par pixel en fonction des éléments avoisinants. Et désormais, chaque impact bénéficiera d’un éclairage particulier : voici ce qu’est spécifiquement le Parallax Mapping.
| < | Du passé, faisons table rase | J’vais être en retard, j’vais être en retard | > |







