Share via


Função glAccum

A função glAccum opera no buffer de acumulação.

Sintaxe

void WINAPI glAccum(
   GLenum  op,
   GLfloat value
);

Parâmetros

op

A operação de buffer de acumulação. As constantes simbólicas aceitas são as seguintes.

Valor Significado
GL_ACCUM
Obtém os valores R, G, B e A do buffer atualmente selecionado para leitura (consulte glReadBuffer). Cada valor de componente é dividido por 2n 1, em que n é o número de bits alocados para cada componente de cor no buffer selecionado no momento. O resultado é um valor de ponto flutuante no intervalo [0,1], que é multiplicado por valor e adicionado ao componente de pixel correspondente no buffer de acúmulo, atualizando assim o buffer de acumulação.
GL_LOAD
Semelhante a GL_ACCUM, exceto que o valor atual no buffer de acumulação não é usado no cálculo do novo valor. Ou seja, os valores R, G, B e A do buffer selecionado no momento são divididos por 2n 1, multiplicados por valor e armazenados na célula de buffer de acúmulo correspondente, substituindo o valor atual.
GL_ADD
Adiciona valor a cada R, G, B e A no buffer de acúmulo.
GL_MULT
Multiplica cada R, G, B e A no buffer de acumulação por valor e retorna o componente dimensionado para seu local de buffer de acúmulo correspondente.
GL_RETURN
Transfere valores de buffer de acumulação para o buffer de cores ou buffers atualmente selecionados para gravação. Cada componente R, G, B e A é multiplicado por valor e, em seguida, multiplicado por 2n 1, fixado ao intervalo [0, 2n 1 ], e armazenado na célula de buffer de exibição correspondente. As únicas operações de fragmento aplicadas a essa transferência são propriedade de pixel, tesoura, dithering e máscaras de cor.

value

Um valor de ponto flutuante usado na operação de buffer de acúmulo. O parâmetro op determina como o valor é usado.

Retornar valor

Essa função não retorna um valor.

Códigos de erro

Os códigos de erro a seguir podem ser recuperados pela função glGetError .

Nome Significado
GL_INVALID_ENUM
op não era um valor aceito.
GL_INVALID_OPERATION
Não houve buffer de acúmulo ou a função glAccum foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

O buffer de acumulação é um buffer de cores de intervalo estendido. As imagens não são renderizadas nela. Em vez disso, as imagens renderizadas em um dos buffers de cores são adicionadas ao conteúdo do buffer de acúmulo após a renderização. Você pode criar efeitos como suavização (de pontos, linhas e polígonos), desfoque de movimento e profundidade de campo acumulando imagens geradas com matrizes de transformação diferentes.

Cada pixel no buffer de acumulação consiste em valores vermelho, verde, azul e alfa. O número de bits por componente no buffer de acumulação depende da implementação. Você pode examinar esse número chamando glGetIntegerv quatro vezes, com os argumentos GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS e GL_ACCUM_ALPHA_BITS, respectivamente. Independentemente do número de bits por componente, no entanto, o intervalo de valores armazenados por cada componente é [ 1,?1]. Os pixels do buffer de acumulação são mapeados um para um com pixels framebuffer.

A função glAccum opera no buffer de acumulação. O primeiro argumento, op, é uma constante simbólica que seleciona uma operação de buffer de acúmulo. O segundo argumento, value, é um valor de ponto flutuante a ser usado nessa operação. Cinco operações são especificadas: GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT e GL_RETURN.

Todas as operações de buffer de acumulação são limitadas à área da caixa de tesoura atual e são aplicadas de forma idêntica aos componentes vermelho, verde, azul e alfa de cada pixel. O conteúdo de um componente de pixel do buffer de acumulação será indefinido se a operação glAccum resultar em um valor fora do intervalo [ 1,1].

Para limpar o buffer de acumulação, use a função glClearAccum para especificar valores R, G, B e A para defini-lo e emita uma função glClear com o buffer de acúmulo habilitado.

Somente os pixels dentro da caixa de tesoura atual são atualizados por qualquer operação glAccum .

As seguintes funções recuperam informações relacionadas à função glAccum :

glGet com GL_ACCUM_RED_BITS de argumento

glGet com GL_ACCUM_GREEN_BITS de argumento

glGet com GL_ACCUM_BLUE_BITS de argumento

glGet com GL_ACCUM_ALPHA_BITS de argumento

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glBlendFunc

glClear

glClearAccum

glCopyPixels

glEnd

glGet

glLogicOp

glPixelStore

glPixelTransfer

glReadBuffer

glReadPixels

glScissor

glStencilOp