Partager via


fonction glDrawElements

La fonction glDrawElements restitue les primitives à partir de données de tableau.

Syntaxe

void WINAPI glDrawElements(
         GLenum  mode,
         GLsizei count,
         GLenum  type,
   const GLvoid  *indices
);

Paramètres

mode

Type de primitives à restituer. Il peut supposer l’une des valeurs symboliques suivantes : GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS et GL_POLYGON.

count

Nombre d’éléments à restituer.

type

Type des valeurs dans les index. Doit être GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT ou GL_UNSIGNED_INT.

indices

Pointeur vers l’emplacement où les index sont stockés.

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
mode n’était pas une valeur acceptée.
GL_INVALID_VALUE
count était une valeur négative.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

La fonction glDrawElements vous permet de spécifier plusieurs primitives géométriques avec très peu d’appels de fonction. Au lieu d’appeler une fonction OpenGL pour passer chaque vertex, normal ou couleur, vous pouvez spécifier au préalable des tableaux distincts de sommets, de normales et de couleurs et les utiliser pour définir une séquence de primitives (toutes de même type) avec un seul appel à glDrawElements.

Lorsque vous appelez la fonction glDrawElements , elle utilise le nombre d’éléments séquentiels d’index pour construire une séquence de primitives géométriques. Le paramètre mode spécifie le type de primitives qui sont construits et la façon dont les éléments de tableau sont utilisés pour construire ces primitives. Si GL_VERTEX_ARRAY n’est pas activé, aucune primitive géométrique n’est générée.

Les attributs de vertex qui sont modifiés par glDrawElements ont une valeur non spécifiée après les retours glDrawElements . Par exemple, si GL_COLOR_ARRAY est activé, la valeur de la couleur actuelle n’est pas définie après l’exécution de glDrawElements . Les attributs qui ne sont pas modifiés restent inchangés.

Vous pouvez inclure la fonction glDrawElements dans les listes d’affichage. Lorsque glDrawElements est inclus dans une liste d’affichage, les données de tableau nécessaires (déterminées par les pointeurs et les activations du tableau) sont également entrées dans la liste d’affichage. Étant donné que les pointseurs et les activations du tableau sont des variables d’état côté client, leurs valeurs affectent les listes d’affichage lors de la création des listes, et non lors de l’exécution des listes.

Notes

La fonction glDrawElements n’est disponible que dans OpenGL version 1.1 ou ultérieure.

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

glBegin

glColorPointer

glDrawArrays

glEdgeFlagPointer

glEnd

glGetPointerv

glIndexPointer

glNormalPointer

glTexCoordPointer

glVertexPointer