Preview : nVidia GeForce 256

Publié le 31/08/1999 par
Imprimer

Le Cube Environment Mapping

Le Transformation & Lighting n´est pas la seule fonction supportée par DirectX 7 gérée le GeForce 256. Tout d´abord, le GeForce 256 supporte le Cube Environment Mapping, alors que les chips actuels utilisent Sphere Environment Mapping. Il convient de préciser ce qu´est l´Environment Mapping en lui même. Cette technique permet en fait d´accroître le réalisme, en permettant à un objet de refléter l´univers l´entourant. Une deuxième texture reflétant le monde extérieure est appliquée sur l´objet, ce qui permet de donner plus réalisme à une vitre de voiture arrière dans une simulation automobile par exemple. Les nuages défileront ainsi sur la vitre, comme "pour de vrai". Cet effet peut également être appliqué à toute la carrosserie, comme c´est le cas dans NFS 3 ou 4.

Comme dis ci-dessus, on utilisait jusqu´à présent le Sphere Environment Mapping. Malheureusement, si les résultats obtenus avec cette technique sont assez convaincants dans de bonnes conditions, elle reste limitée par deux points. D´une part, du fait même de la forme de la sphère map, le résultat de l´environment mapping n´est pas parfait, et on à le droit à une image étirée ou déformée par endroit (à l´arrière surtout, le point derrière l´objet étant représenté par la totalité du cercle extérieur de la sphère map). D´autre part, la sphère map étant calculée en fonction du point de vue, tout changement de ce point de vue nécessite un re calcul complet d´une nouvelle sphère map pour être pris en compte … ce qui demande beaucoup (trop) de puissance au niveau du processeu central.

spheremap.gif (6685 octets)cubemap.gif (4723 octets)

A gauche la sphère map, à droite la cube map

cubemapbis.gif (19607 octets)Le Cube Environment Mapping vient à bout de ces problèmes. Cette fois, l´environment map n´a plus la forme d´une sphère complexe mais d´un simple cube, crée indépendamment du point de vue. Sur chacune des faces on retrouve une texture dont la réflexion exacte sur l´objet est calculée en temps réel par le GeForce 256. Les problèmes de déformations dus à la forme de l´environment map sont éliminés, tout comme les problèmes liés au point de vue : en effet, la texture n´est pas crée en fonction du point de vue, et si ce dernier change il faudra changer les vecteurs de réflexion. Si dans le pire des cas on à besoin de mettre le cube map à jour pour chaque image, ce devrait être possible grâce à la puissance du GeForce 256 qui le fera en hardware (exemple simple : vous êtes dans un jeu de voiture, une voiture vous double sur la droite … pourquoi ne pas réfléchir son image sur votre aile droite ?).

Le Cube Mapping peut également être utilisé afin de gérer des specular lighting higlights (réflexion lumineuse à la surface d´un objet qui se modifie en fonction de la position de la source lumineuse, de l´objet, ou du point de vue) au pixel près. En effet, on gérait jusqu´alors ce genre d´éclairage en calculant uniquement les valeurs pour les différents sommets des triangles … le reste étant obtenu par interpolation linéaire. En rendant les specular lighting dans le Cube Map, il est possible d´obtenir ensuite un éclairage au pixel près, comme le Phong ... beau défit technique ... qui n´a malheureusement que peu d´intérêt dans la pratique, la différence n´étant quasiment pas visible dans un jeu par exemple.

perpixellight.jpg (20978 octets)

A gauche avec un éclairage au pixel près, à droite sans.

Vos réactions

Top articles