Função glDrawBuffer

A função glDrawBuffer especifica em quais buffers de cores devem ser desenhados.

Sintaxe

void WINAPI glDrawBuffer(
   GLenum mode
);

Parâmetros

mode

Especifica até quatro buffers de cores a serem desenhados com as seguintes constantes simbólicas aceitáveis.

Valor Significado
GL_NONE
Nenhum buffer de cor é gravado.
GL_FRONT_LEFT
Somente o buffer de cor frontal esquerdo é gravado.
GL_FRONT_RIGHT
Somente o buffer de cores front-right é gravado.
GL_BACK_LEFT
Somente o buffer de cor do back-left é gravado.
GL_BACK_RIGHT
Somente o buffer de cor do back-right é gravado.
GL_FRONT
Somente os buffers de cores front-left e front-right são gravados. Se não houver nenhum buffer de cor frontal-direita, somente o buffer de cor esquerda frontal será gravado.
GL_BACK
Somente os buffers de cor back-left e back-right são gravados. Se não houver nenhum buffer de cor back-right, somente o buffer de cor da parte de trás para a esquerda será gravado.
GL_LEFT
Somente os buffers de cores front-left e back-left são gravados. Se não houver nenhum buffer de cor back-left, somente o buffer de cor frontal esquerdo será gravado.
GL_RIGHT
Somente os buffers de cores front-right e back-right são gravados. Se não houver nenhum buffer de cor back-right, somente o buffer de cor frontal direito será gravado.
GL_FRONT_AND_BACK
Todos os buffers de cor frontal e traseira (front-left, front-right, back-left, back-right) são gravados. Se não houver buffers de cor traseira, somente os buffers de cores front-left e front-right serão gravados. Se não houver buffers de cor direita, somente os buffers de cor frontal-esquerda e back-left serão gravados. Se não houver buffers de cor direita ou traseira, somente o buffer de cor frontal esquerdo será gravado.
GL_AUXi
Somente o buffer de cores auxiliar i é gravado; i está entre 0 e GL_AUX_BUFFERS - 1. (GL_AUX_BUFFERS não é o limite superior; use glGet para consultar o número de buffers auxiliares disponíveis.)

O valor padrão é GL_FRONT para contextos com buffer único e GL_BACK para contextos com buffer duplo.

Retornar valor

Essa função não retorna um valor.

Códigos de erro

Os códigos de erro a seguir podem ser recuperados pela função glGetError .

Nome Significado
GL_INVALID_ENUM
mode não era um valor aceito.
GL_INVALID_OPERATION
Nenhum dos buffers indicados pelo modo existia.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

Quando as cores são gravadas no framebuffer, elas são gravadas nos buffers de cores especificados por glDrawBuffer.

Se mais de um buffer de cores for selecionado para desenho, as operações lógicas ou de mesclagem serão computadas e aplicadas independentemente para cada buffer de cores e poderão produzir resultados diferentes em cada buffer.

Os contextos monoscópicos incluem apenas buffers esquerdos e contextos estereoscópicos incluem buffers esquerdo e direito. Da mesma forma, os contextos com buffer único incluem apenas buffers frontais e contextos com buffer duplo incluem buffers front e back. O contexto é selecionado na inicialização do OpenGL.

É sempre o caso que GL_AUX i = GL_AUX0 + i.

As seguintes funções recuperam informações relacionadas à função glDrawBuffer :

glGet com GL_DRAW_BUFFER de argumento

glGet com GL_AUX_BUFFERS de argumento

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glBlendFunc

glColorMask

glEnd

glGet

glIndexMask

glLogicOp

glReadBuffer