glAccum

Прототип:

void glAccum(GLenum op, GLfloat value);

Параметры:

op : операция аккумулирующего буфера. Поддерживается GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, GL_RETURN. value : значение операции над аккумулирующем буфером.

Описание:

Аккумулирующий буфер это своеобразный дополнительный буфер цвета, хотя изображение в нем не рисуется. Изображение прибавляется к содержимому аккумулирующего буфера после отрисовке в буфере цвета. С помощьюе этого буфера могут быть достигнуты эффекты antialiasing, motion blur. Каждый пиксел в аккумулирующем буфере состоит из RGBA компонент. Количество бит на компонент зависит от конкретной реализации. Это значение можно проверить функцией glGetIntegerv с параметром GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS, GL_ACCUM_ALPHA_BITS. Пикселы расположены в аккумулирующем буфере точно так же как и в буфере цвета. Описание операций: GL_ACCUM получает RGBA компоненты из буфера цвета выбранного для чтения. Эти значения делятся на 2n-1, где n - количество бит на компоненту цвета. Таким образом получается значение в пределах [0;1]. Зачем это значение умножается на value и прибавляется к текущему значению аккумулирующего буфера. GL_LOAD тоже самое что и GL_ACCUM, за исключением того, что значение аккумулирующего буфера не учитывается, тоесть вычисляется новое значение на основе данных только буфера цвета. GL_ADD прибавляеюся значения RGBA компонент, умноженные на value, к текущим значениям RGBA компонент аккумулирующего буфера. GL_MULT умножаются значение RGBA компонент, умноженные на value, на текущим значениям RGBA компонент аккумулирующего буфера. GL_RETURN копирует значения RGBA компонент аккумулирующего буфера, умноженные на value, в буфер цвета. Значения, которыми будет заполнен аккумулирующий буфер при очистке, можно задавать функцией glClearAccum.

Ошибки:

GL_INVALID_ENUM возникает когда op имеет недопустимое значение. GL_INVALID_OPERATION возникает при вызове glAccum между парой glBegin/glEnd.
Перевод выполнил faceH0r 26.06.2005
Используются технологии uCoz