fglaccum man page on IRIX

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



fglAccum(3G)		       OpenGL Reference			  fglAccum(3G)

NAME
     fglAccum - operate on the accumulation buffer

FORTRAN SPECIFICATION
     SUBROUTINE fglAccum( INTEGER*4 op,
			  REAL*4 value )

PARAMETERS
     op	    Specifies the accumulation buffer operation.  Symbolic constants
	    GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN 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
     rendering.	 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 fglGetIntegerv 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.

     fglAccum 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.	 Five operations are specified:	 GL_ACCUM, GL_LOAD, GL_ADD,
     GL_MULT, and GL_RETURN.

     All accumulation buffer operations are limited to the area of the current
     scissor box and applied identically to the red, green, blue, and alpha
     components of each pixel.	If a fglAccum 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 fglReadBuffer).  Each component
					n
		   value is divided by 2 -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

									Page 1

fglAccum(3G)		       OpenGL Reference			  fglAccum(3G)

		   [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
							     n
		   currently selected buffer are divided by 2 -1, multiplied
		   by value, and then stored in the corresponding accumulation
		   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
		   corresponding 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
		    n				   n
		   2 -1, clamped to the range [0, 2 -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.

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

NOTES
     Only pixels within the current scissor box are updated by a fglAccum
     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 or
     if the  draw drawable is not identical to the read drawable (see
     fglXMakeCurrentReadSGI).

     GL_INVALID_OPERATION is generated if fglAccum is executed between the
     execution of fglBegin and the corresponding execution of fglEnd.

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

									Page 2

fglAccum(3G)		       OpenGL Reference			  fglAccum(3G)

MACHINE DEPENDENCIES
     On InfiniteReality systems the following restrictions apply:

	  1.  When op is GL_RETURN, value must be greater than or equal to
	      -4.0 and strictly less than 4.0.	If value is outside this
	      range, the results are undefined.

	  2.  For other values of op, value must be greater than or equal to
	      -1.0 and strictly less than 1.0.	If value is outside this
	      range, the results are undefined.

     RealityEngine, RealityEngine2, and VTX systems do not support negative
     values in the accumulation buffer.

SEE ALSO
     fglBlendFunc, fglClear, fglClearAccum, fglCopyPixels, fglDrawBuffer,
     fglGet, fglLogicOp,
     fglPixelStore, fglPixelTransfer, fglReadBuffer, fglReadPixels,
     fglScissor, fglStencilOp

									Page 3

[top]

List of man pages available for IRIX

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