Partager via


fonction glNormalPointer

La fonction glNormalPointer définit un tableau de normales.

Syntaxe

void WINAPI glNormalPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Paramètres

type

Type de données de chaque coordonnée dans le tableau à l’aide des constantes symboliques suivantes : GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT et GL_DOUBLE.

Foulée

Décalage d’octet entre les normales consécutives. Lorsque la foulée est nulle, les normales sont étroitement emballées dans le tableau.

Pointeur

Pointeur vers la première normale du tableau.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Name Signification
GL_INVALID_ENUM
type n’était pas une valeur acceptée.
GL_INVALID_OPERATION
stride ou count était négatif.

Notes

La fonction glNormalPointer spécifie l’emplacement et les données d’un tableau de normales à utiliser lors du rendu. Le paramètre type spécifie le type de données de chaque coordonnée normale. Le paramètre stride détermine le décalage d’octet d’une valeur normale à l’autre, ce qui permet l’empaquetage des sommets et des attributs dans un tableau unique ou un stockage dans des tableaux distincts. Dans certaines implémentations, le stockage des sommets et des attributs dans un tableau unique peut être plus efficace que l’utilisation de tableaux distincts ; pour plus d’informations, consultez glInterleavedArrays .

Un tableau normal est activé lorsque vous spécifiez la constante GL_NORMAL_ARRAY avec glEnableClientState. Lorsque cette option est activée, glDrawArrays, glDrawElements et glArrayElement utilisent le tableau normal. Par défaut, le tableau normal est désactivé.

Vous ne pouvez pas inclure glNormalPointer dans les listes d’affichage.

Lorsque vous spécifiez un tableau normal à l’aide de glNormalPointer, les valeurs de tous les paramètres de tableau normaux de la fonction sont enregistrées dans un état côté client. Étant donné que les paramètres de tableau normaux sont enregistrés dans un état côté client, leurs valeurs ne sont pas enregistrées ou restaurées par glPushAttrib et glPopAttrib.

Bien qu’aucune erreur ne soit générée lorsque vous appelez glNormalPointer dans des paires glBegin et glEnd , les résultats ne sont pas définis.

Les fonctions suivantes sont associées à glNormalPointer :

glGet avec argument GL_NORMAL_ARRAY_STRIDE

glGet avec argument GL_NORMAL_ARRAY_COUNT

glGet avec argument GL_NORMAL_ARRAY_TYPE

glGetPointerv avec argument GL_NORMAL_ARRAY_POINTER

glIsEnabled avec argument GL_NORMAL_ARRAY

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glArrayElement

glColorPointer

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString