Leer en inglés

Compartir a través de


función glAccum

La función glAccum funciona en el búfer de acumulación.

Sintaxis

void WINAPI glAccum(
   GLenum  op,
   GLfloat value
);

Parámetros

op

Operación de búfer de acumulación. Las constantes simbólicas aceptadas son las siguientes.

Valor Significado
GL_ACCUM
Obtiene los valores R, G, B y A del búfer seleccionado actualmente para su lectura (consulte glReadBuffer). Cada valor de componente se divide en 2n 1, donde n es el número de bits asignados a cada componente de color en el búfer seleccionado actualmente. El resultado es un valor de punto flotante en el intervalo [0,1], que se multiplica por valor y se agrega al componente de píxel correspondiente en el búfer de acumulación, con lo que se actualiza el búfer de acumulación.
GL_LOAD
De forma similar a GL_ACCUM, salvo que el valor actual del búfer de acumulación no se usa en el cálculo del nuevo valor. Es decir, los valores R, G, B y A del búfer seleccionado actualmente se dividen en 2n 1, multiplicados por valor y, a continuación, se almacenan en la celda del búfer de acumulación correspondiente, sobrescribiendo el valor actual.
GL_ADD
Agrega valor a cada R, G, B y A en el búfer de acumulación.
GL_MULT
Multiplica cada R, G, B y A en el búfer de acumulación por valor y devuelve el componente escalado a su ubicación de búfer de acumulación correspondiente.
GL_RETURN
Transfiere los valores del búfer de acumulación al búfer de color o los búferes seleccionados actualmente para escribir. Cada componente R, G, B y A se multiplica por valor y, a continuación, se multiplica por 2n 1, sujeta al intervalo [0, 2n 1 ] y se almacena en la celda del búfer de visualización correspondiente. Las únicas operaciones de fragmento que se aplican a esta transferencia son propiedad de píxeles, tijera, dithering y máscaras de escritura de color.

value

Valor de punto flotante utilizado en la operación de búfer de acumulación. El parámetro op determina cómo se usa el valor .

Valor devuelto

Esta función no devuelve ningún valor.

Códigos de error

La función glGetError puede recuperar los siguientes códigos de error.

Nombre Significado
GL_INVALID_ENUM
op no era un valor aceptado.
GL_INVALID_OPERATION
No se llamó a ningún búfer de acumulación o a la función glAccum entre una llamada a glBegin y la llamada correspondiente a glEnd.

Observaciones

El búfer de acumulación es un búfer de color de rango extendido. Las imágenes no se representan en ella. En su lugar, las imágenes representadas en uno de los búferes de color se agregan al contenido del búfer de acumulación después de la representación. Puede crear efectos como suavizado de contorno (de puntos, líneas y polígonos), desenfoque de movimiento y profundidad de campo acumulando imágenes generadas con diferentes matrices de transformación.

Cada píxel del búfer de acumulación consta de valores rojo, verde, azul y alfa. El número de bits por componente en el búfer de acumulación depende de la implementación. Puede examinar este número llamando a glGetIntegerv cuatro veces, con los argumentos GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS y GL_ACCUM_ALPHA_BITS, respectivamente. Sin embargo, independientemente del número de bits por componente, el intervalo de valores almacenados por cada componente es [ 1,?1]. Los píxeles del búfer de acumulación se asignan uno a uno con píxeles de búfer de fotograma.

La función glAccum funciona en el búfer de acumulación. El primer argumento, op, es una constante simbólica que selecciona una operación de búfer de acumulación. El segundo argumento, value, es un valor de punto flotante que se usará en esa operación. Se especifican cinco operaciones: GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT y GL_RETURN.

Todas las operaciones de búfer de acumulación se limitan al área del cuadro de tijera actual y se aplican de forma idéntica a los componentes rojo, verde, azul y alfa de cada píxel. El contenido de un componente de píxeles de búfer de acumulación no está definido si la operación glAccum da como resultado un valor fuera del intervalo [ 1,1].

Para borrar el búfer de acumulación, use la función glClearAccum para especificar valores R, G, B y A para establecerlo y emita una función glClear con el búfer de acumulación habilitado.

Solo los píxeles dentro del cuadro de tijera actual se actualizan mediante cualquier operación glAccum .

Las siguientes funciones recuperan información relacionada con la función glAccum :

glGet con GL_ACCUM_RED_BITS de argumentos

glGet con GL_ACCUM_GREEN_BITS de argumentos

glGet con GL_ACCUM_BLUE_BITS de argumentos

glGet con GL_ACCUM_ALPHA_BITS de argumentos

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Vea también

glBegin

glBlendFunc

glClear

glClearAccum

glCopyPixels

glEnd

glGet

glLogicOp

glPixelStore

glPixelTransfer

glReadBuffer

glReadPixels

glScissor

glStencilOp