glDrawBuffer - вказує цільові колірні буфери, в які буде виконуватися малювання.

C-специфікація

void 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 міститься між 0 і значенням GL_AUX_BUFFERS мінус 1 (значення GL_AUX_BUFFERS не являється найбільшим обмеженням; використовуйте glGet для опитування кількості доступних допоміжних буферів). Значення за умовчанням являється GL_FRONT для однобуферного вмісту, і GL_BACK для вмісту з подвійним буфером.

Опис

Під час запису кольорів у буфер кадру, вони записуються у колірні буфери вказані за допомогою функції glDrawBuffer. Опис наступний:

  • 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.

Якщо обрано більш як один колірний буфер для малювання, тоді змішування або логічні операції обчислюються і застосовуються незалежно для кожного колірного буферу і можна отримати різні результати для кожного буферу.

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

Нотатки

Завжди виконується рівність GL_AUXi = GL_AUX0 + i.

Помилки

GL_INVALID_ENUM генерується якщо параметр mode не містить допустимого значення.

GL_INVALID_OPERATION генерується якщо присутній жоден з буферів вказаний у параметр mode.

GL_INVALID_OPERATION генерується якщо glDrawBuffer виконується між відповідними викликами функцій glBegin і glEnd.

Пов'язані параметри

glGet з аргументом GL_DRAW_BUFFER

glGet з аргументом GL_AUX_BUFFERS

Перегляньте також

glBlendFunc, glColorMask, glIndexMask, glLogicOp, glReadBuffer

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glDrawBuffer.xml