Partager via


fonction glDrawBuffer

La fonction glDrawBuffer spécifie dans quelles mémoires tampons de couleur doivent être dessinées.

Syntaxe

void WINAPI glDrawBuffer(
   GLenum mode
);

Paramètres

mode

Spécifie jusqu’à quatre tampons de couleur à utiliser avec les constantes symboliques acceptables suivantes.

Valeur Signification
GL_NONE
Aucune mémoire tampon de couleur n’est écrite.
GL_FRONT_LEFT
Seule la mémoire tampon de couleur avant gauche est écrite.
GL_FRONT_RIGHT
Seule la mémoire tampon de couleur à droite est écrite.
GL_BACK_LEFT
Seule la mémoire tampon de couleur arrière-gauche est écrite.
GL_BACK_RIGHT
Seule la mémoire tampon de couleur arrière droite est écrite.
GL_FRONT
Seules les mémoires tampons de couleur avant-gauche et avant-droite sont écrites. S’il n’existe aucune mémoire tampon de couleur avant-droite, seule la mémoire tampon de couleur avant gauche est écrite.
GL_BACK
Seules les mémoires tampons de couleur arrière-gauche et arrière-droite sont écrites. S’il n’y a pas de mémoire tampon de couleur arrière droite, seule la mémoire tampon de couleur arrière gauche est écrite.
GL_LEFT
Seules les mémoires tampons de couleur avant-gauche et arrière-gauche sont écrites. S’il n’y a pas de mémoire tampon de couleur arrière gauche, seule la mémoire tampon de couleur avant gauche est écrite.
GL_RIGHT
Seules les mémoires tampons de couleur avant-droite et arrière-droite sont écrites. S’il n’y a pas de mémoire tampon de couleur arrière droite, seule la mémoire tampon de couleur avant droite est écrite.
GL_FRONT_AND_BACK
Toutes les mémoires tampons de couleur avant et arrière (avant-gauche, avant-droite, arrière-gauche, arrière-droite) sont écrites. S’il n’y a pas de tampons de couleur arrière, seules les mémoires tampons de couleur avant gauche et avant droite sont écrites. S’il n’existe aucune mémoire tampon de couleur droite, seules les mémoires tampons de couleur avant-gauche et arrière-gauche sont écrites. S’il n’existe aucune mémoire tampon de couleur droite ou arrière, seule la mémoire tampon de couleur avant-gauche est écrite.
GL_AUXi
Seule la mémoire tampon de couleur auxiliaire i est écrite ; i est compris entre 0 et GL_AUX_BUFFERS - 1. (GL_AUX_BUFFERS n’est pas la limite supérieure ; utilisez glGet pour interroger le nombre de mémoires tampons auxiliaires disponibles.)

La valeur par défaut est GL_FRONT pour les contextes à mise en mémoire tampon unique et GL_BACK pour les contextes à double mise en mémoire tampon.

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_OPERATION
Aucune des mémoires tampons indiquées par le mode n’existait.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

Lorsque les couleurs sont écrites dans le framebuffer, elles sont écrites dans les mémoires tampons de couleurs spécifiées par glDrawBuffer.

Si plusieurs tampons de couleurs sont sélectionnés pour le dessin, les opérations de fusion ou logiques sont calculées et appliquées indépendamment pour chaque mémoire tampon de couleur et peuvent produire des résultats différents dans chaque mémoire tampon.

Les contextes monoscopiques incluent uniquement des mémoires tampons de gauche, et les contextes stéréoscopiques incluent à la fois des mémoires tampons de gauche et de droite. De même, les contextes à mise en mémoire tampon unique incluent uniquement les mémoires tampons frontales, et les contextes à double mise en mémoire tampon incluent les tampons front et back. Le contexte est sélectionné dans Initialisation OpenGL.

Il est toujours vrai que GL_AUX i = GL_AUX0 + i.

Les fonctions suivantes récupèrent des informations relatives à la fonction glDrawBuffer :

glGet avec argument GL_DRAW_BUFFER

glGet avec argument GL_AUX_BUFFERS

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

glBegin

glBlendFunc

glColorMask

glEnd

glGet

glIndexMask

glLogicOp

glReadBuffer