glAccum man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

GLACCUM(3gl)							  GLACCUM(3gl)

NAME
       glAccum - operate on the accumulation buffer

C SPECIFICATION
       void glAccum( GLenum op,
		     GLfloat value )

PARAMETERS
       op     Specifies the accumulation buffer operation.  Symbolic constants
	      GL_ACCUM,	  GL_LOAD,    GL_ADD,	 GL_MULT,    GL_RETURN,	   and
	      GL_SLICE_ACCUM_SUN are accepted.

       value  Specifies a floating-point value used in the accumulation buffer
	      operation.  op determines how value is used.

DESCRIPTION
       The accumulation buffer is an extended-range color buffer.  Images  are
       not  rendered  into  it.	 Rather, images rendered into one of the color
       buffers are added to the contents of the accumulation buffer after ren‐
       dering.	Effects such as antialiasing (of points, lines, and polygons),
       motion blur, and depth of field can be created by  accumulating	images
       generated with different transformation matrices.

       Each pixel in the accumulation buffer consists of red, green, blue, and
       alpha values.  The number of bits per  component	 in  the  accumulation
       buffer  depends	on  the implementation. You can examine this number by
       calling glGetIntegerv four  times,  with	 arguments  GL_ACCUM_RED_BITS,
       GL_ACCUM_GREEN_BITS,   GL_ACCUM_BLUE_BITS,   and	  GL_ACCUM_ALPHA_BITS.
       Regardless of the number of bits per component,	the  range  of	values
       stored  by  each	 component is [-1, 1].	The accumulation buffer pixels
       are mapped one-to-one with frame buffer pixels.

       glAccum operates on the accumulation buffer.  The first	argument,  op,
       is  a  symbolic constant that selects an accumulation buffer operation.
       The second argument, value, is a floating-point value  to  be  used  in
       that  operation.	  Six  operations  are	specified:  GL_ACCUM, GL_LOAD,
       GL_ADD, GL_MULT, GL_RETURN, and GL_SLICE_ACCUM_SUN.

       All accumulation buffer operations are limited to the area of the  cur‐
       rent  scissor  box and applied identically to the red, green, blue, and
       alpha components of each pixel.	If a glAccum operation	results	 in  a
       value outside the range [-1, 1], the contents of an accumulation buffer
       pixel component are undefined.

       The operations are as follows:

       GL_ACCUM	     Obtains R, G, B, and A values from the  buffer  currently
		     selected  for reading (see glReadBuffer).	Each component
		     value is divided by 2n−1, where n is the number  of  bits
		     allocated	to  each  color	 component  in	the  currently
		     selected buffer.  The result is a floating-point value in
		     the  range [0, 1], which is multiplied by value and added
		     to the corresponding pixel component in the  accumulation
		     buffer, thereby updating the accumulation buffer.

       GL_LOAD	     Similar to GL_ACCUM, except that the current value in the
		     accumulation buffer is not used in the calculation of the
		     new  value.   That is, the R, G, B, and A values from the
		     currently selected buffer are divided by 2n−1, multiplied
		     by	 value, and then stored in the corresponding accumula‐
		     tion buffer cell, overwriting the current value.

       GL_ADD	     Adds value to each R, G, B, and  A	 in  the  accumulation
		     buffer.

       GL_MULT	     Multiplies each R, G, B, and A in the accumulation buffer
		     by value and returns the scaled component to  its	corre‐
		     sponding accumulation buffer location.

       GL_RETURN     Transfers	accumulation buffer values to the color buffer
		     or buffers currently selected for writing.	 Each R, G, B,
		     and  A  component is multiplied by value, then multiplied
		     by 2n−1, clamped to the range [0,2n−1], and stored in the
		     corresponding  display  buffer  cell.   The only fragment
		     operations that are applied to this  transfer  are	 pixel
		     ownership, scissor, dithering, and color writemasks.

       GL_SLICE_ACCUM_SUN
		     Is	   avaliable	on    devices	 which	 support   the
		     GL_SUN_slice_accum extension.  The SLICE_ACCUM_SUN opera‐
		     tion has the same effect as ACCUM except that the accumu‐
		     lation buffer color value is computed: AccumRGB = (Frame‐
		     BuffAlpha	*  FrameBuffRGB)  +  ((1  -  FrameBuffAlpha) *
		     AccumRGB)

       To clear the accumulation buffer, call glClearAccum with R, G, B, and A
       values  to  set	it  to, then call glClear with the accumulation buffer
       enabled.

NOTES
       Only pixels within the current scissor box are  updated	by  a  glAccum
       operation.

ERRORS
       GL_INVALID_ENUM is generated if op is not an accepted value.

       GL_INVALID_OPERATION is generated if there is no accumulation buffer.

       GL_INVALID_OPERATION  is	 generated  if glAccum is executed between the
       execution of glBegin and the corresponding execution of glEnd.

       GL_INVALID_OPERATION is generated if the GL is in color index mode.

       GL_INVALID_OPERATION is generated if the glXMakeCurrentReadSGI glXDraw‐
       bles drawable and readable are not identical.

ASSOCIATED GETS
       glGet with argument GL_ACCUM_RED_BITS
       glGet with argument GL_ACCUM_GREEN_BITS
       glGet with argument GL_ACCUM_BLUE_BITS
       glGet with argument GL_ACCUM_ALPHA_BITS

SEE ALSO
       glBlendFunc,  glClear,  glClearAccum,  glCopyPixels,  glGet, glLogicOp,
       glPixelStore, glPixelTransfer, glReadBuffer,  glReadPixels,  glScissor,
       glStencilOp, glXMakeCurrentReadSGI

				   15 Mar 97			  GLACCUM(3gl)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net