De l'intérêt du SLI?

Je fais mon chieur de service, mais il me semble que les GeForce 2 ne géraient pas le bump mapping en hardware ( je me souviens d’un joy d’epoque où ils criaient au scandale vu que meme les Kyro le faisaient… ) :stuck_out_tongue: . Et puis ce n’est pas tout à fait pareil, le bump mapping se faisait aussi tres bien en soft ( voir ground control ), alors que les nouveaux effets nécessitent une carte compatible.

Le syndrome du geek archéologue, c’est grave docteur ? :stuck_out_tongue:

[quote=« AAARGH, post:21, topic: 27784 »]Je fais mon chieur de service, mais il me semble que les GeForce 2 ne géraient pas le bump mapping en hardware ( je me souviens d’un joy d’epoque où ils criaient au scandale vu que meme les Kyro le faisaient… ) :stuck_out_tongue: . Et puis ce n’est pas tout à fait pareil, le bump mapping se faisait aussi tres bien en soft ( voir ground control ), alors que les nouveaux effets nécessitent une carte compatible.

Le syndrome du geek archéologue, c’est grave docteur ? :P[/quote]
Y’a pas vraiment de normalisation autour du bump mapping ni d’implémentation stricte dans DirectX 8/9 sur comment ca devrait se faire. Matrox avait un bon truc en son temps.

Aujourd’hui c’est pareil, il n’y a pas de standard. Il y’a par contre des moyens qui peuvent être mis en oeuvre en utilisant les vertex/pixels shaders pour le simuler. Ca demande l’utilisation de ses propres algos, et c’est peut être pas plus mal ainsi. Mais on notera que, bien des années après le débat, le « bump mapping » est très absent des jeux actuels.

Enfin absent… ca depend ce qu’on appelle bump mapping. Pour moi le bump mapping d’hier c’est une normal map d’aujourd’hui.

Pour completer pour ceux qui sont pas forcement au courant de comment on fait, la « technique » pour faire une bosse, c’est de bidouiller un peu la normale au point qui est en train d’etre rendu et au lieu d’etre un truc hardcode dans la carte, ca se fait avec un petit bout de vertex shader et un petit bout de pixel shader qui vont appliquer la meme methode.

La methode pour le faire est plus ou moins standard, on genere une normal map qui est comme une texture mais contient des valeurs RGB correspondant a un vecteur XYZ normalise de « combien » il faut bidouiller la normale aux coordonnees idoines. C’est pour ca que ces « textures » sont toujours dans les tons de bleu moyen parceque 0 sur Z ca correspond a 128 pour bleu…

Genre… (regardez plus particulierement les joues par exemple, y a pas trop d’info dans l’element diffuse de la texture, mais il y a un bon changement sur la normale)

et

et ca donne…

Maintenant c’est pas oblige de l’utilise que pour faire du « bump » au sens ci dessus, on peut aussi calculer une normal map pour faire la « difference » entre un mesh en haut detail et un mesh en « low details ». Comme ce qu’on controle c’est en fait la normale par pixel, on peut rajouter plein de details a un polygone qui en fait apparaitrait tout moche sinon sinon.

Genre:

Dans max ou maya ou quoi:
(157 000 triangles)
et low poly:
(500 triangles)

normal map alacon c’est a dire la « difference » des deux:

Et en rendu dans le jeu on a:

Et ca trace quasiement comme si on rendait que 500 triangles tout le temps…

'fin voila :stuck_out_tongue:

Oui, je sais; d’autant plus que j’avais lu avant de répondre ton autre post sur les jeux « SM2isés ». Mais j’avais la flemme de chercher un exemple plus valable (désolé Davios pour ma mauvaise foi :P).
Mais en y réfléchissant, je me souviens par exemple du geometry instancing, qui avait été rétro-actif sur les ati anciennes par mise à jour des drivers; et il me semble qu’il avait été remarqué à l’époque que ce n’était pas le cas sur les nvidia. Donc que le changement de génération apporte bien des capacités en plus.
Je me trompe encore?
Et les normal maps dont parle GloP, ça marche sur les vieilles cartes?

Et au-delà de ça, si les développeurs sortent les jeux en SM3, que ce soit pour des raisons marketings ou pas peu importe, et qu’il faut qu’ils patchent après, ou qu’ils programment spécifiquement pour rendre les mêmes effets sur les cartes les plus anciennes, ne vont-ils pas se laisser aller à se contenter du travail sur les cartes récentes uniquement? Car après tout, quelques effets en moins n’empêchent pas la vente du jeu à ceux qui ne pourront pas le voir, c’est juste moins beau.

« It’s on the line!!! »

T’es deja oblige de faire un moteur qui s’adapte aux capacites des carte graphiques et de supporter des cartes plus anciennes. Selon la technique utilisee pour compiler/generer ses shader, il est pas rare de se retrouver avec plusieurs centaines de shaders differents, incluant des versions differentes selon la generation de carte/architecture/marque de la carte que tu utilises (voire la version du driver)… Et ils ont pas le choix, sinon ils vendent pas, parceque c’est pas “trois effets en moins”, c’est que ca rend pas du tout. Du coup le jeux est inutilisable ou a “un gros bug” si tu fais pas l’effort. C’est meme super reloud a tester. Les shaders en regle generale aujourd’hui sont pas des trucs modulaires ou tu peux prendre un petit bout de l’un, un petit bout de l’autre, les chainer ensemble et si t’as pas la carte machin tu perds juste le dernier bout. C’est tout ou rien, et ou le shader en entier (c’est a dire tout le materiaux) passe ou ton objet il est tout noir et pas transforme. C’est un des problemes et une partie de ce qui va changer dans le futur…

GloP, le truc de la tête d’alien là, c’est ce qu’ils vont utiliser comme technique dans le prochain Unreal, non?

Y a plein de jeux qui utilisent deja cette technique, et le Unreal Engine a des choses de similaires. :stuck_out_tongue: