Auteur Sujet: Displacement & normal maps  (Lu 1108 fois)

0 Membres et 1 Invité sur ce sujet

Salut !

J'utilise plusieurs passes de rendu comme ça :

- une passe pour dessiner des "particules" contenant une map de displacement, dans un buffer A (RGB_32F)
- une passe pour dessiner des "particules" contenant une map de normales, dans un buffer B (RGB_32F)

Ensuite je fais le rendu de la scene en "plaquant" dessus les displacement et les normales issues des buffer A et B.

Du coup :

- le buffer A est en blending additif
- le buffer B est en blending additif

=> pour les displacements, ça marche très bien
=> pour les normales, ça déconne...

J'ai identifiés quelques soucis sur les normales, notamment concernant le repère dans lequel elles sont exprimées, mais avant d'aller trop loin dans le debug de mon code, est-ce que c'est correct d'additionner des normales ?

Je procède comme ça lors du dessin des particules :
- toutes les normales sont exprimées dans le même repère (à cette étape là, j'en suis certain)
- toutes les normales sont normalisées

Et lors de la passe de rendu des normales, si 4 particules écrivent sur le même pixel, j'ai :

pixel = Normale_1 + Normale_2 + Normale_3 + Normale_4

Et lors du rendu final de la scène, je récupère cette normale, je la normalise, et je l'utilise comme pour faire du bump mapping.

Avec 2-3 schémas vite fait au crayon, j'ai l'impression que ça devrais fonctionner, mais est-ce que c'est "géométriquement correct" ?


Merci !

Bah c'est pas géométriquement correct, non, mais ça devrait donner quelque chose quand même.
Qu'est-ce que t'entends par "ça foire" ? T'as un screenshot ?