La compréhension glNormal3f
Je ne comprends pas la glNormal3f, je sais qu'il travaille pour "normaliser" la "normales" du sommet... Ou quelque chose comme ça, mais je ne peux pas comprendre ce qui est "normal", au niveau du vertex.
Pouvez-vous m'expliquer cette fonction? Je ne peux pas comprendre ce que 'normal' en openGL...
- Vous devez en savoir plus sur la géométrie dans l'OpenGL avant de poser une question comme ça. Les normales sont l'un des plus fondamentaux des morceaux.
- Désolé, je suis juste débutant à OpenGL, j'ai été lire un mauvais livre, maintenant, je suis à la recherche d'un nouveau...
- S'il vous plaît être sûr d'accepter la réponse que vous avez trouvé le plus utile. Donner des réponses utiles upvotes.
- Oh, je na sais, merci.
- Double Possible de Ce qui est normal en OpenGL?
Vous devez vous connecter pour publier un commentaire.
La "normale" d'un sommet est le vecteur qui est "perpendiculaire" au sommet. En mathématiques "normal" est une généralisation de "perpendiculaire". Pour un polygone, ce "vecteur normal" est perpendiculaire à l'intérieur du polygone et est la même pour l'ensemble de ses sommets. Une raison pour laquelle vous pouvez attribuer différents vecteurs normaux à chaque sommet d'un polygone est si vous êtes couvrant une surface courbe avec de très petits triangles. Dans ce cas, vous ne voulez pas que les vecteurs normaux des trois sommets du triangle sont toutes les mêmes.
Maintenant, qu'est-ce normal vecteur utilisé pour? L'application typique est utilisée pour la coloration des calculs lorsque l'éclairage est activé dans OpenGL. Le vecteur normal peut déterminer si la lumière provenant d'une source de lumière frappe une surface, et que l'angle d'un rayon de lumière fait avec la surface. Cela peut ensuite être utilisé pour déterminer si la surface est l'ombre, ou contient, un reflet spéculaire, par exemple.
Un appel à
glNormal
émet le vecteur normal à la dernière émise sommet. Un sommet de la normale est généralement calculé comme le normalisée moyenne des normales des faces incident au sommet. Les normales des faces sont vecteur de sorte qu'ils sont perpendiculaires au plan décrit par le visage.Cette fonction est obsolète et vous devriez vraiment prendre un bon/tutoriel ou un livre.
Voir aussi Vertex Normal et les entrées associées.
Si vous ne devez pas utiliser
glVertex*
et les associésglNormal*
fonctions, que devriez-vous utiliser? Les Shaders et VBO est. Avoir un regardez cette question.