glcopyconvolutionfilter2dext - Man Page






glCopyConvolutionFilter2DEXT(3G)			      OpenGL Reference



NAME
     glCopyConvolutionFilter2DEXT - copy pixels	into a two-dimensional
     convolution filter


C SPECIFICATION
     void glCopyConvolutionFilter2DEXT(	GLenum target,
					GLenum internalformat,
					GLint x,
					GLint y,
					GLsizei	width,
					GLsizei	height )


PARAMETERS
     target	     Must be GL_CONVOLUTION_2D_EXT.

     internalformat  The internal format of the	convolution filter kernel.
		     The allowable values are GL_LUMINANCE,
		     GL_LUMINANCE_ALPHA, GL_INTENSITY_EXT, GL_RGB, and
		     GL_RGBA.

     x		     The x coordinate of the lower-left	coordinate of the
		     pixel array to copy.

     y		     The y coordinate of the lower-left	coordinate of the
		     pixel array to copy.

     width	     The width of the pixel array to copy.

     height	     The height	of the pixel array to copy.

DESCRIPTION
     glCopyConvolutionFilter2DEXT defines a two-dimensional convolution	filter
     kernel with pixels	from the current GL_READ_BUFFER	(rather	than from main
     memory, as	is the case for	glConvolutionFilter2DEXT).

     The screen-aligned	pixel rectangle	with lower-left	corner at (x, y),
     width width+2*border and height height+2*border is	used to	define the
     convolution filter. If any	pixels within this region are outside the
     window that is associated with the	GL context, the	values obtained	for
     those pixels are undefined.

     The pixels	in the rectangle are processed exactly as if glReadPixels had
     been called with format set to RGBA, but the process stops	just before
     final conversion. The R, G, B, and	A components of	each pixel are next
     scaled by the four	2D GL_CONVOLUTION_FILTER_SCALE_EXT parameters and
     biased by the four	2D GL_CONVOLUTION_FILTER_BIAS_EXT parameters.  (The
     scale and bias parameters are set by glConvolutionParameterEXT using the
     GL_CONVOLUTION_2D_EXT target and the names
     GL_CONVOLUTION_FILTER_SCALE_EXT and GL_CONVOLUTION_FILTER_BIAS_EXT.  The
     parameters	themselves are vectors of four values that are applied to red,



									Page 1






glCopyConvolutionFilter2DEXT(3G)			      OpenGL Reference



     green, blue, and alpha, in	that order.)  The R, G,	B, and A values	are
     not clamped to [0,1] at any time during this process.

     Each pixel	is then	converted to the internal format specified by
     internalformat.  This conversion simply maps the component	values of the
     pixel (R, G, B, and A) to the values included in the internal format
     (red, green, blue,	alpha, luminance, and intensity).  The mapping is as
     follows:

      Internal Format	   Red	 Green	 Blue	Alpha	Luminance   Intensity
      _______________________________________________________________________
      GL_LUMINANCE					    R
      GL_LUMINANCE_ALPHA			  A	    R
      GL_INTENSITY_EXT							R
      GL_RGB		    R	   G	  B
      GL_RGBA		    R	   G	  B	  A

     The red, green, blue, alpha, luminance, and/or intensity components of
     the resulting pixels are stored in	floating-point rather than integer
     format.

     Pixel ordering is such that lower x screen	coordinates correspond to
     lower i filter image coordinates, and lower y screen coordinates
     correspond	to lower j filter image	coordinates.

     Note that after a convolution is performed, the resulting color
     components	are also scaled	by their corresponding
     GL_POST_CONVOLUTION_c_SCALE_EXT parameters	and biased by their
     corresponding GL_POST_CONVOLUTION_c_BIAS_EXT parameters (where c takes on
     the values	RED, GREEN, BLUE, and ALPHA).  These parameters	are set	by
     glPixelTransfer.

NOTES
     glCopyConvolutionFilter2DEXT is part of the EXT_convolution extension.
     See glIntro for more information about using extensions.

ERRORS
     GL_INVALID_ENUM is	generated if target is not GL_CONVOLUTION_2D_EXT.

     GL_INVALID_ENUM is	generated if internalformat is not one of the
     allowable values.

     GL_INVALID_VALUE is generated if width is less than zero or greater than
     the maximum supported value.  This	value may be queried with
     glGetConvolutionParameterEXT using	target GL_CONVOLUTION_2D_EXT and name
     GL_MAX_CONVOLUTION_WIDTH_EXT.

     GL_INVALID_VALUE is generated if height is	less than zero or greater than
     the maximum supported value.  This	value may be queried with
     glGetConvolutionParameterEXT using	target GL_CONVOLUTION_2D_EXT and name
     GL_MAX_CONVOLUTION_HEIGHT_EXT.




									Page 2






glCopyConvolutionFilter2DEXT(3G)			      OpenGL Reference



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

ASSOCIATED GETS
     glGetConvolutionParameterEXT, glGetConvolutionFilterEXT


MACHINE	DEPENDENCIES
     glCopyConvolutionFilter2DEXT is not supported on RealityEngine,
     RealityEngine2, and VTX systems.


SEE ALSO
     glConvolutionFilter2DEXT, glConvolutionParameterEXT, glEnable with
     parameter GL_CONVOLUTION_2D_EXT, glPixelTransfer.







































									Page 3