Функция glAccum
Функция glAccum работает с буфером накопления.
void WINAPI glAccum(
GLenum op,
GLfloat value
);
-
Op
-
Операция буфера накопления. Ниже приведены допустимые символические константы.
Значение Значение - GL_ACCUM
Получает значения R, G, B и A из буфера, выбранного в данный момент для чтения (см. glReadBuffer). Значение каждого компонента делится на 2n 1, где n — количество битов, выделенных каждому компоненту цвета в выбранном буфере. Результатом является значение с плавающей запятой в диапазоне [0,1], которое умножается на значение и добавляется к соответствующему компоненту пикселей в буфере накопления, тем самым обновляя буфер накопления. - GL_LOAD
Аналогично GL_ACCUM, за исключением того, что текущее значение в буфере накопления не используется при вычислении нового значения. То есть значения R, G, B и A из выбранного буфера делятся на 2n 1, умножаются на значение, а затем сохраняются в соответствующей ячейке буфера накопления, перезаписав текущее значение. - GL_ADD
Добавляет значение к каждому объекту R, G, B и A в буфере накопления. - GL_MULT
Умножает каждый элемент R, G, B и A в буфере накопления на значение и возвращает масштабируемый компонент в соответствующее расположение буфера накопления. - GL_RETURN
Передает значения буфера накопления в буфер цвета или буферы, выбранные для записи. Каждый компонент R, G, B и A умножается на значение, затем умножается на 2n 1, зажимается в диапазоне [0, 2n 1 ] и сохраняется в соответствующей ячейке буфера отображения. Единственные операции фрагмента, которые применяются к этой передаче: владение пикселями, ножницы, смеяние и цветовые маски. -
value
-
Значение с плавающей запятой, используемое в операции буфера накопления. Параметр op определяет, как используется значение .
Эта функция не возвращает значение.
Следующие коды ошибок могут быть получены функцией glGetError .
Имя | Значение |
---|---|
|
op не является допустимым значением. |
|
Буфер накопления отсутствует или функция glAccum была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Буфер накопления — это буфер цвета с расширенным диапазоном. Изображения не отображаются в нем. Скорее, изображения, отображаемые в одном из цветовых буферов, добавляются к содержимому буфера накопления после отрисовки. Вы можете создавать такие эффекты, как сглаживание (точек, линий и многоугольников), размытие движения и глубина поля, путем накопления изображений, созданных с помощью различных матриц преобразования.
Каждый пиксель в буфере накопления состоит из красного, зеленого, синего и альфа-значений. Количество битов на компонент в буфере накопления зависит от реализации. Вы можете проверить это число, вызвав glGetIntegerv четыре раза с аргументами GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS и GL_ACCUM_ALPHA_BITS соответственно. Однако независимо от количества битов на компонент, диапазон значений, хранящихся в каждом компоненте, равен [1,?1]. Пиксели буфера накопления сопоставляются один к одному с пикселями framebuffer.
Функция glAccum работает с буфером накопления. Первый аргумент, op, является символьной константой, которая выбирает операцию буфера накопления. Второй аргумент, value, — это значение с плавающей запятой, которое будет использоваться в этой операции. Указаны пять операций: GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT и GL_RETURN.
Все операции буфера накопления ограничены областью текущего ножницы и применяются одинаково к красному, зеленому, синему и альфа-компонентам каждого пикселя. Содержимое компонента пикселя буфера накопления не определено, если операция glAccum приводит к значению за пределами диапазона [1,1].
Чтобы очистить буфер накопления, используйте функцию glClearAccum , чтобы указать значения R, G, B и A, чтобы задать ему значение , и выпустить функцию glClear с включенным буфером накопления.
При любой операции glAccum обновляются только пиксели в текущем поле ножницы.
Следующие функции извлекают сведения, связанные с функцией glAccum :
glGet с аргументом GL_ACCUM_RED_BITS
glGet с GL_ACCUM_GREEN_BITS аргументов
glGet с аргументом GL_ACCUM_BLUE_BITS
glGet с аргументом GL_ACCUM_ALPHA_BITS
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|