Функция glDrawBuffer

Функция glDrawBuffer указывает, в какие буферы цветов должны быть втянуты.

Синтаксис

void WINAPI glDrawBuffer(
   GLenum mode
);

Параметры

mode

Указывает до четырех буферов цвета, в которые будут втянуты следующие допустимые символьные константы.

Значение Значение
GL_NONE
Буферы цвета не записываются.
GL_FRONT_LEFT
Записывается только передний левый буфер цвета.
GL_FRONT_RIGHT
Записывается только буфер цвета справа на переднем крае.
GL_BACK_LEFT
Записывается только буфер цвета с левой стороны.
GL_BACK_RIGHT
Записывается только задний правый буфер цвета.
GL_FRONT
Записываются только буферы цвета спереди слева и справа на переднем крае. Если нет буфера цвета спереди справа, записывается только буфер переднего левого цвета.
GL_BACK
Записываются только буферы цвета с левой и обратной стороны справа. Если буфер цвета обратной правой стороны отсутствует, записывается только буфер цвета обратной левой части.
GL_LEFT
Записываются только буферы цвета с левой и левой стороны. Если буфер цвета с обратной левой стороны отсутствует, записывается только буфер цвета с левой стороны.
GL_RIGHT
Записываются только буферы цвета спереди справа и сзади. Если буфер цвета обратной правой стороны отсутствует, записывается только передний правый цветной буфер.
GL_FRONT_AND_BACK
Записываются все буферы цвета переднего и заднего цветов (передний и правый, левый и правый). Если буферы заднего цвета отсутствуют, записываются только передние и правые цветовые буферы. Если буферы цвета справа отсутствуют, записываются только буферы цвета спереди слева и сзади. Если нет буферов цвета справа или назад, записывается только буфер цвета переднего левого цвета.
GL_AUXi
Записывается только вспомогательный буфер цвета i ; Значение i находится в диапазоне от 0 до GL_AUX_BUFFERS - 1. (GL_AUX_BUFFERS не является верхним пределом; используйте glGet для запроса количества доступных вспомогательных буферов.)

Значение по умолчанию — GL_FRONT для контекстов с одной буферизацией и GL_BACK для контекстов с двойной буферизацией.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
mode не является допустимым значением.
GL_INVALID_OPERATION
Буферы, указанные режимом , не существовали.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Когда цвета записываются в framebuffer, они записываются в буферы цветов, указанные в glDrawBuffer.

Если для рисования выбрано несколько цветовых буферов, операции смешивания или логические операции вычисляются и применяются независимо для каждого цветового буфера и могут давать разные результаты в каждом буфере.

Моноскопические контексты включают только левые буферы, а стереоскопические контексты включают как левый, так и правый буферы. Аналогичным образом контексты с одним буфером включают только передние буферы, а контексты с двойной буферией включают как передний, так и задний буферы. Контекст выбирается при инициализации OpenGL.

Всегда GL_AUX i = GL_AUX0 + i.

Следующие функции извлекают сведения, связанные с функцией glDrawBuffer :

glGet с GL_DRAW_BUFFER аргументов

glGet с GL_AUX_BUFFERS аргументов

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glBlendFunc

glColorMask

glEnd

glGet

glIndexMask

glLogicOp

glReadBuffer