Comment générer des normales de surface?

9

J'ai plusieurs méthodes de dessin de débogage dans mon moteur qui peuvent générer une géométrie utile pour le débogage, comme des sphères et des cubes.

Pour le moment, je ne génère pas de normales pour ces formes. Existe-t-il une méthode générale de génération de normales de face et de normales par sommet pour un maillage arbitraire? (J'imagine que vous auriez besoin de normales de face pour générer des normales par sommet?)

Cubed2D
la source

Réponses:

12

Pour générer des normales de faces, utilisez le produit vectoriel croisé de deux arêtes de chaque triangle, puis normalisez le résultat. Assurez-vous d'avoir les bonnes directions, sinon certaines normales pointeront et sortiront.

Les normales de sommet seraient alors une interpolation de toutes les normales de face auxquelles le sommet est attaché.

Skizz
la source
Vous voulez dire une interpolation normalisée (ou simplement une sommation normalisée), vraisemblablement;)
Andrew Russell
3
Renormalisez toujours après sommation! Même si vous avez interpolé à partir de vecteurs normalisés, le résultat n'est PAS normalisé!
Bob Somers