Auteur |
Le Topik Technik |
Jinjo Pixel imposant
Inscrit : Dec 07, 2004 Messages : 822
Hors ligne | Posté le: 2005-05-03 03:25
C'est en lisant je ne sais plus où (il me semble devant mon écran et non sur papier) que le "bump mapping" commençait à être dépassé avec l'arrivé du "normal mapping" (pour une curieuse histoire de vecteurs), que j'ai décidé de faire ce que j'intitulerai sur le champ, le "Topik Technik".
Les prétentions de ce dernier sont simples:
-Suivre l'actualité technique des consoles/PC en terme d'affichage (graphisme et animation prioritairement.)
-Repérer les derniers termes en date
-Les expliquer
-Les illustrer
A l'arriver d'un nouveau terme, il serait judicieux de passer par ces deux dernières étapes de manière systématique. Evidement, un débat sur les différents termes relatifs à différents procédés est toujours le bienvenu, surtout s'il peut mettre en relief l'avantage/ l'inconvénient de telle ou telle technique, toujours dans un souci de vulgarisation.
Je dépose une première question : quelle-est la différence entre le "bump mapping" et le "normal mapping"?
Une autre question sous-jacente : pourquoi le "bump mapping" provoque souvent un effet de flou au ras du sol (exemple significatif: l'herbe de "HALO" 1 et 2 en pleine marche) même si le résultat est saisissant vu de face et sous une certaine distance?...
Deux screens pour illustrer:
Vue horizontale en pleine marche. Les textures sont de plus en plus floues.
Vue de face, plutôt proche de l'herbe. Les détails deviennent saisissants.
Merci à tous de partager votre savoir dans la joie et la bonne humeur, et bonne vulgarisation!
|
Shariban Pixel monstrueux
Inscrit : Jan 07, 2004 Messages : 2506 De : sous c'est pas cher
Hors ligne | Posté le: 2005-05-03 12:21
En fait je crois que le bump mapping ne s'applique qu'à une certain distance de toi, genre un cercle et c'est pour celà que l'on a l'impression bizarre de voir l'herbe ou les murs plus ou moins flou. Enfin je pense.
_________________
|
Wild_Cat Anarchy in the UK
Score au grosquiz
0031906
pts.
Joue à Kiesel A2, MusicMan Sterling 5
Inscrit : May 01, 2002 Messages : 11272 De : Laval, de l'autre côté du pont
Hors ligne | Posté le: 2005-05-03 13:57
Il y a deux raisons:
1. Le mip-mapping. Comme le dit Shariban, le jeu diminue le niveau de détail des textures au fur et à mesure que tu t'en éloignes. Logique. Le niveau de détail maximum n'est utilisé que pour les textures les plus proches de toi (exemple: deuxième screenshot).
2. Le bump-mapping est fait pour donner l'illusion (seulement l'illusion) d'un relief sur une surface plane. Ce qui ne marche vraiment bien que si tu fais face à la surface -- plus elle est de biais, plus l'illusion est difficile à maintenir.
_________________ https://twitter.com/MaxNoelBass
https://www.youtube.com/c/TheTiberianSons
|
Shariban Pixel monstrueux
Inscrit : Jan 07, 2004 Messages : 2506 De : sous c'est pas cher
Hors ligne | Posté le: 2005-05-04 08:18
Exact, c'est avec un système d'ombre en fait.
_________________
|
IsKor Camarade grospixelien
Joue à Diablo 3
Inscrit : Mar 28, 2002 Messages : 13493 De : Alpes Maritimes
Hors ligne | Posté le: 2005-05-04 10:03
Oui, le mip mapping est là pour maintenir unniveau de performances stables, car si ta carte graph devait calculer la texture full rez à 3 km, je te raconte pas les cartes de ouf-guedin qu'il nous faudrait...
|
Jinjo Pixel imposant
Inscrit : Dec 07, 2004 Messages : 822
Hors ligne | Posté le: 2005-05-06 21:05
Merci pour ces précisions.
A présent, quelqu'un a une définition du "normal-mapping", comparé au "bump-mapping" qui simule le relief avec la lumière? Il me semble que c'est le même procédé, l'un étant cela dit plus performant que l'autre (le "normal mapping").
Voici ce que j'ai trouvé sur le net en tapant "normal mapping":
|
SpectralVampire Tout petit pixel
Inscrit : Apr 27, 2005 Messages : 38
Hors ligne | Posté le: 2005-05-06 21:22
Euh, désolé de sortir un peu du sujet "normal-mapping" et "bump-mapping" (Ca commence bien ^^) mais quelques messages m'on fait penser à une chose, enfin à une question :
Quelle était le toute première technique pour faire une ombre ?
|
Wild_Cat Anarchy in the UK
Score au grosquiz
0031906
pts.
Joue à Kiesel A2, MusicMan Sterling 5
Inscrit : May 01, 2002 Messages : 11272 De : Laval, de l'autre côté du pont
Hors ligne | Posté le: 2005-05-06 23:11
La toute première technique, c'était de faire un rond noir sous les personnages auxquels on voulait filer une ombre. C'était moche.
La première technique pour faire des *vraies* ombres est une application détournée du Z-buffer.
En gros, un Z-buffer, c'est un bout de mémoire qui stocke quelles parties de la scène sont visibles du point de vue de la caméra (ce qui évite de tracer les polygones qui sont planqués derrière d'autres).
Imagine maintenant que tu crées un Z-buffer, mais qu'au lieu de le calculer du point de vue de la caméra, tu le calcules du point de vue de la source de lumière: tu sais désormais quelles parties de la scène lui sont visibles... Autrement dit, quelles parties de la scène sont éclairées. Du coup, le reste est dans l'ombre. Et hop!
Pour le normal mapping, c'est plus compliqué (http://en.wikipedia.org/wiki/Normal_mapping). C'est un triple bump-mapping, en fait. (attention, cours sur la 3D en approche dans 3... 2... 1...)
Lorsqu'on calcule l'éclairage d'un polygone, une donnée importante est la normale à ce polygone: c'est un vecteur qui lui est perpendiculaire et orienté vers l'extérieur. Lorsque cette normale est directement orientée vers la source de lumière, l'éclairage est maximal (le polygone fait face à la lumière). Lorsque l'angle entre cette normale et la source de lumière est supérieur à 90°, le polygone n'est plus éclairé (logique). Mathématiquement, l'éclairage est calculé grâce à un produit scalaire entre la normale et un vecteur orienté du polygone vers la source lumineuse.
Si on s'arrête là (un seul calcul par polygone), on obtient du flat shading (Virtua Fighter 1, Starfox). Si on pousse un peu le calcul, en considérant à chaque coin du polygone une normale (fictive) égale à la moyenne des normales des polygones adjacents et en interpolant un petit coup, on obtient du Gouraud shading (Toshinden).
Là, on a donc plus ou moins, grâce à ces interpolations, une normale à chaque point du polygone. Comme ces normales ont toutes été calculées à partir des normales aux coins du polygone, on a un éclairage en dégradé bien linéaire -- donc lisse, comme la surface du polygone.
Maintenant, faisons du bump mapping: On prend une texture monochrome (niveaux de gris) qu'on pourrait mapper sur le polygone. On a donc un nombre (considérons que c'est un flottant, entre 0 et 1, où 0 == noir et 1 == blanc) pour chaque point du polygone. Ce nombre est utilisé pour perturber la normale à ce point du polygone (exemple: on multiplie la normale par ce nombre). Comme l'illumination de chaque pixel dépend directement de la normale, ça change l'éclairage sur chaque pixel: là où la texture est sombre, l'éclairage sera fortement diminué... Ce qui crée une impression de relief sur le polygone. Ca, c'est du bump mapping.
Le normal mapping, c'est pareil mais sous stéroïdes. Au lieu d'avoir une pseudo-texture monochrome (une seule composante), on a une pseudo-texture avec 3 composantes. Ces 3 composantes (3 nombres, donc) sont utilisées pour altérer chacune des coordonnées de la normale, ce qui permet d'obtenir des effets beaucoup plus détaillés que le bump mapping traditionnel.
Voilà! (c'est bon, vous ne vous êtes pas endormis?)
_________________ https://twitter.com/MaxNoelBass
https://www.youtube.com/c/TheTiberianSons
|
Esteban Gros pixel
Joue à Dead Cells, EA Sports WRC, Trackmania Turbo
Inscrit : Jan 28, 2003 Messages : 1987 De : la planète Mars(eille)
Hors ligne | Posté le: 2005-05-07 07:00
J'ai pas compris comment la couleur du pixel pouvait perturber la normale, sinon, c'est fort intéressant
|
SpectralVampire Tout petit pixel
Inscrit : Apr 27, 2005 Messages : 38
Hors ligne | Posté le: 2005-05-07 08:10
Wild_Cat -> Merci beaucoup pour ce renseignement : )
|
Wild_Cat Anarchy in the UK
Score au grosquiz
0031906
pts.
Joue à Kiesel A2, MusicMan Sterling 5
Inscrit : May 01, 2002 Messages : 11272 De : Laval, de l'autre côté du pont
Hors ligne | Posté le: 2005-05-07 11:36
Citation :
Le 2005-05-07 07:00, eSceNeKCAP a écrit:
J'ai pas compris comment la couleur du pixel pouvait perturber la normale, sinon, c'est fort intéressant
Dans le bump mapping? Simple: Vu que la couleur (enfin, le niveau de gris) du pixel est un nombre à virgule flottante compris entre 0 et 1, tu multiplies la normale par ce nombre. Résultat, en fonction de la couleur du pixel, elle devient plus petite et donc l'éclairage moins intense, ce qui crée un effet de relief.
_________________ https://twitter.com/MaxNoelBass
https://www.youtube.com/c/TheTiberianSons
|
CHAZumaru Pixel monstrueux
Inscrit : Mar 17, 2003 Messages : 3098
Hors ligne | Posté le: 2005-05-07 11:50
Je suppose que les trois composantes du normal mapping correspondent aux références R/V/B du pixel ?
Du coup chaque couleur aurait sa propre référence de luminosité, au lieu d'agir en niveaux de gris ?
Si c'est le cas, c'est vachté malin.
|
Wild_Cat Anarchy in the UK
Score au grosquiz
0031906
pts.
Joue à Kiesel A2, MusicMan Sterling 5
Inscrit : May 01, 2002 Messages : 11272 De : Laval, de l'autre côté du pont
Hors ligne | Posté le: 2005-05-07 12:06
|
Shariban Pixel monstrueux
Inscrit : Jan 07, 2004 Messages : 2506 De : sous c'est pas cher
Hors ligne | Posté le: 2005-05-10 16:33
Merci pour ce petit cour très très interressant, ce topic est finalement une très très bonne idée, comment se cultiver un minimum ^^
_________________
|
Jinjo Pixel imposant
Inscrit : Dec 07, 2004 Messages : 822
Hors ligne | Posté le: 2005-05-11 00:42
Merci beaucoup Wild_Cat pour ces éclaircissements. Tu as bien expliqué ce qu'est le Z-buffer, qui à la base est un terme relativement difficile à vulgariser, en plus.
Pour le normal-mapping et le bump-mapping également, c'est impec, même si j'ai quand même dû sortir une feuille pour faire un résumé et des petits dessins. Mais ça, c'est pour que tout rentre en une seule fois.
Citation : Ce topic est finalement une très très bonne idée, comment se cultiver un minimum ^^
Bien sûr que c'est une très très bonne idée.
Un futur topic culte en perspective, à n'en point douter !
|
Shariban Pixel monstrueux
Inscrit : Jan 07, 2004 Messages : 2506 De : sous c'est pas cher
Hors ligne | Posté le: 2005-05-11 02:43
36 messages et ça a déja choppé la grosse tête, si c'est pas malheureux tout ça.
_________________
|
Wild_Cat Anarchy in the UK
Score au grosquiz
0031906
pts.
Joue à Kiesel A2, MusicMan Sterling 5
Inscrit : May 01, 2002 Messages : 11272 De : Laval, de l'autre côté du pont
Hors ligne | Posté le: 2005-05-11 03:12
C'est un plaisir. Vous pouvez dire merci au module GI21 "Introduction to Computer Graphics" de l'Université de Leeds -- mes cours m'ont pas mal aidé pour structurer mon explication.
Ce qui est marrant avec le Z-buffer, c'est que j'ai déjà rencontré plein de personnes qui le confondent avec le filtrage de texture bilinéaire. Je me demande bien pourquoi.
_________________ https://twitter.com/MaxNoelBass
https://www.youtube.com/c/TheTiberianSons
|
dante2002 Déterreur de topics
Score au grosquiz
0002009
pts.
Joue à Le GamePass sur la Serie X
Inscrit : Feb 10, 2003 Messages : 5365 De : METZ
Hors ligne | Posté le: 2005-05-11 03:17
Citation :
Le 2005-05-11 03:12, Wild_Cat a écrit:
C'est un plaisir. Vous pouvez dire merci au module GI21 "Introduction to Computer Graphics" de l'Université de Leeds -- mes cours m'ont pas mal aidé pour structurer mon explication.
Ce qui est marrant avec le Z-buffer, c'est que j'ai déjà rencontré plein de personnes qui le confondent avec le filtrage de texture bilinéaire. Je me demande bien pourquoi.
[mauvaise foi on] parce que sur console ils sont tous les deux apparu avec le N64 [/mauvaise foi off]
|
CHAZumaru Pixel monstrueux
Inscrit : Mar 17, 2003 Messages : 3098
Hors ligne | Posté le: 2005-05-11 04:00
C'est tout à fait vrai, puisque Nintendo communiquait à l'époque sur la puissance de son "Z-buffer" qui lui permettait de gommer les effets d'escalier. Mélangeage de pinceaux marketeux, nom de baptême hasardeux pour une technologie maison ou vulgarisation foireuse d'un procédé technologique complexe, toujours est-il que c'est la faute au moustachu.
|
Jinjo Pixel imposant
Inscrit : Dec 07, 2004 Messages : 822
Hors ligne | Posté le: 2005-08-21 18:32
Voici deux nouveaux termes à vulgariser:
- Le "cube-mapping"
- Le "Per Pixel Lighting"
Et les illustrations qui vont avec...
D'abord pour le "cube-mapping" (une technique qui, il me semble, permet de modéliser des élements en 3d avec des formes arrondis -les "nurbs".)
Et enfin pour le "Per Pixel Lighting" (l'éclairage en temps réel au pixel près? )
Pour le "Per Pixel Ligthing" on parle aussi de "volumes d'ombres". Qu'est-ce que cela veut dire?
|