manpagez: man pages & more
man glCopyConvolutionFilter2D(3)
Home | html | info | man
glCopyConvolutionFilter2D(3)                    glCopyConvolutionFilter2D(3)




NAME

       glCopyConvolutionFilter2D - copy pixels into a two-dimensional convolu-
       tion filter



C SPECIFICATION

       void glCopyConvolutionFilter2D( GLenum target,
                                       GLenum internalformat,
                                       GLint x,
                                       GLint y,
                                       GLsizei width,
                                       GLsizei height )



PARAMETERS

       target          Must be GL_CONVOLUTION_2D.

       internalformat  The internal  of the convolution  filter  kernel.   The
                       allowable  values  are  GL_ALPHA, GL_ALPHA4, GL_ALPHA8,
                       GL_ALPHA12,  GL_ALPHA16,  GL_LUMINANCE,  GL_LUMINANCE4,
                       GL_LUMINANCE8,      GL_LUMINANCE12,     GL_LUMINANCE16,
                       GL_LUMINANCE_ALPHA,               GL_LUMINANCE4_ALPHA4,
                       GL_LUMINANCE6_ALPHA2,             GL_LUMINANCE8_ALPHA8,
                       GL_LUMINANCE12_ALPHA4,          GL_LUMINANCE12_ALPHA12,
                       GL_LUMINANCE16_ALPHA16,   GL_INTENSITY,  GL_INTENSITY4,
                       GL_INTENSITY8,     GL_INTENSITY12,      GL_INTENSITY16,
                       GL_R3_G3_B2,   GL_RGB,   GL_RGB4,   GL_RGB5,   GL_RGB8,
                       GL_RGB10,  GL_RGB12,   GL_RGB16,   GL_RGBA,   GL_RGBA2,
                       GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12,
                       or GL_RGBA16.

       x, y            The window space coordinates of the lower-left  coordi-
                       nate 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

       glCopyConvolutionFilter2D  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 glConvolutionFilter2D).

       The  screen-aligned  pixel  rectangle with lower-left corner at (x, y),
       width width and height height is used to define the convolution filter.
       If any pixels within this region are outside the window that is associ-
       ated 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  parameters
       and  biased by the four 2D GL_CONVOLUTION_FILTER_BIAS parameters.  (The
       scale and bias parameters are set by glConvolutionParameter  using  the
       GL_CONVOLUTION_2D  target and the names GL_CONVOLUTION_FILTER_SCALE and
       GL_CONVOLUTION_FILTER_BIAS.  The parameters themselves are  vectors  of
       four  values  that  are applied to red, 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  specified by internalfor-
       mat.  This conversion simply maps the component values of the pixel (R,
       G, B, and A) to the values included in the internal  (red, green, blue,
       alpha, luminance, and intensity).  The mapping is as follows:


        Internal Format     Channel mapping
        GL_ALPHA            A=Alpha
        GL_LUMINANCE        R=Luminance
        GL_LUMINANCE_ALPHA  A=Alpha, R=Luminance
        GL_INTENSITY        R=Intensity
        GL_RGB              R=Red, G=Green, B=Blue
        GL_RGBA             R=Red, G=Green, B=Blue, A=Alpha


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

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

       Note  that after a convolution is performed, the resulting color compo-
       nents     are     also     scaled      by      their      corresponding
       GL_POST_CONVOLUTION_c_SCALE  parameters and biased by their correspond-
       ing GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the  values
       RED,   GREEN,   BLUE,   and   ALPHA).   These  parameters  are  set  by
       glPixelTransfer.


NOTES

       glCopyConvolutionFilter2D is present only if GL_ARB_imaging is returned
       when glGetString is called with an argument of GL_EXTENSIONS.


ERRORS

       GL_INVALID_ENUM is generated if target is not GL_CONVOLUTION_2D.

       GL_INVALID_ENUM is generated if internalformat is not one of the allow-
       able 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
       glGetConvolutionParameter  using  target  GL_CONVOLUTION_2D  and   name
       GL_MAX_CONVOLUTION_WIDTH.

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

       GL_INVALID_OPERATION is generated if glCopyConvolutionFilter2D is  exe-
       cuted  between the execution of glBegin and the corresponding execution
       of glEnd.


ASSOCIATED GETS

       glGetConvolutionParameter, glGetConvolutionFilter


SEE ALSO

       glConvolutionFilter2D(3), glConvolutionParameter(3), glPixelTransfer(3)



                                                 glCopyConvolutionFilter2D(3)

Mac OS X 10.6 - Generated Thu Sep 17 20:20:16 CDT 2009
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.