glDrawBuffer-Funktion

Die glDrawBuffer-Funktion gibt an, in welche Farbpuffer gezeichnet werden sollen.

Syntax

void WINAPI glDrawBuffer(
   GLenum mode
);

Parameter

mode

Gibt bis zu vier Farbpuffer an, die mit den folgenden zulässigen symbolischen Konstanten gezeichnet werden sollen.

Wert Bedeutung
GL_NONE
Es werden keine Farbpuffer geschrieben.
GL_FRONT_LEFT
Es wird nur der Front-Left-Farbpuffer geschrieben.
GL_FRONT_RIGHT
Nur der Front-Rechts-Farbpuffer wird geschrieben.
GL_BACK_LEFT
Es wird nur der hintergrundlinke Farbpuffer geschrieben.
GL_BACK_RIGHT
Es wird nur der Hintergrund-Rechts-Farbpuffer geschrieben.
GL_FRONT
Es werden nur die Farbpuffer vorne links und rechts geschrieben. Wenn kein Front-Rechts-Farbpuffer vorhanden ist, wird nur der vordere linke Farbpuffer geschrieben.
GL_BACK
Es werden nur die Farbpuffer back-left und back-right geschrieben. Wenn kein Back-Right-Farbpuffer vorhanden ist, wird nur der hinten-linke Farbpuffer geschrieben.
GL_LEFT
Es werden nur die Farbpuffer vorne links und hinten links geschrieben. Wenn kein Back-Left-Farbpuffer vorhanden ist, wird nur der Farbpuffer von vorne links geschrieben.
GL_RIGHT
Es werden nur die Farbpuffer vorne rechts und hinten rechts geschrieben. Wenn kein Farbpuffer von hinten rechts vorhanden ist, wird nur der Farbpuffer vorne rechts geschrieben.
GL_FRONT_AND_BACK
Alle Front- und Back-Farbpuffer (front-left, front-right, back-left, back-right) werden geschrieben. Wenn keine Hinterfarbpuffer vorhanden sind, werden nur die Farbpuffer vorne links und rechts geschrieben. Wenn keine rechten Farbpuffer vorhanden sind, werden nur die Farbpuffer vorne links und hinten links geschrieben. Wenn keine rechten oder hinteren Farbpuffer vorhanden sind, wird nur der Farbpuffer von vorne links geschrieben.
GL_AUXi
Es wird nur der zusätzliche Farbpuffer i geschrieben; i ist zwischen 0 und GL_AUX_BUFFERS - 1. (GL_AUX_BUFFERS ist nicht die Obergrenze. Verwenden Sie glGet , um die Anzahl der verfügbaren Hilfspuffer abzufragen.)

Der Standardwert ist für einzelgepufferte Kontexte GL_FRONT und GL_BACK für doppelt gepufferte Kontexte.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL_INVALID_ENUM
der Modus war kein akzeptierter Wert.
GL_INVALID_OPERATION
Keiner der puffer, die im Modus angegeben sind, war vorhanden.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Wenn Farben in den Framebuffer geschrieben werden, werden sie in die von glDrawBuffer angegebenen Farbpuffer geschrieben.

Wenn mehr als ein Farbpuffer für das Zeichnen ausgewählt ist, werden Füllvorgänge oder logische Vorgänge berechnet und unabhängig für jeden Farbpuffer angewendet, soweit dies zu unterschiedlichen Ergebnissen in jedem Puffer führen kann.

Monoskopische Kontexte umfassen nur linke Puffer, und stereoskopische Kontexte enthalten sowohl linke als auch rechte Puffer. Ebenso enthalten einzelgepufferte Kontexte nur Frontpuffer und doppelt gepufferte Kontexte sowohl Front- als auch Back-Puffer. Der Kontext wird unter OpenGL-Initialisierung ausgewählt.

Es ist immer so, dass GL_AUX i = GL_AUX0 + i.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit der glDrawBuffer-Funktion ab:

glGet mit Argument GL_DRAW_BUFFER

glGet mit Argument GL_AUX_BUFFERS

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glBegin

glBlendFunc

glColorMask

glEnd

glGet

glIndexMask

glLogicOp

glReadBuffer