PARAMETERS
       targe  Must be GL_CONVOLUTION_2D.

       _param2
              The internal format of the convolution filter kernel.  The allow‐
              able  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.

       _param3
              The width of the pixel array referenced by _param7.

       _param4
              The height of the pixel array referenced by _param7.

       _param5
              The  format  of  the pixel data in _param7.  The allowable values
              are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA,
              GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.

       _param6
              The  type  of  the  pixel  data  in  _param7.  Symbolic constants
              GL_UNSIGNED_BYTE,    GL_BYTE,    GL_BITMAP,    GL_UNSIGNED_SHORT,
              GL_SHORT,        GL_UNSIGNED_INT,        GL_INT,        GL_FLOAT,
              GL_UNSIGNED_BYTE_3_3_2,               GL_UNSIGNED_BYTE_2_3_3_REV,
              GL_UNSIGNED_SHORT_5_6_5,             GL_UNSIGNED_SHORT_5_6_5_REV,
              GL_UNSIGNED_SHORT_4_4_4_4,         GL_UNSIGNED_SHORT_4_4_4_4_REV,
              GL_UNSIGNED_SHORT_5_5_5_1,         GL_UNSIGNED_SHORT_1_5_5_5_REV,
              GL_UNSIGNED_INT_8_8_8_8,             GL_UNSIGNED_INT_8_8_8_8_REV,
              GL_UNSIGNED_INT_10_10_10_2,   and  GL_UNSIGNED_INT_2_10_10_10_REV
              are accepted.

       _param7
              Pointer to a two-dimensional array of pixel  data  that  is  pro‐
              cessed to build the convolution filter kernel.

DESCRIPTION
       glConvolutionFilter2D builds a two-dimensional convolution filter kernel
       from an array of pixels.

       The pixel array specified by _param3,  _param4,  _param5,  _param6,  and
       _param7  is  extracted from memory and processed just as if glDrawPixels
       were called, but processing stops after the final expansion to  RGBA  is
       completed.
       lows:

       ────────────────────────────────────────────────────────────────────────
       Internal Format      Red   Green   Blue   Alpha   Luminance   Intensity
       ────────────────────────────────────────────────────────────────────────
       GL_ALPHA                                    A
       GL_LUMINANCE                                R
       GL_LUMINANCE_ALPHA                  A       R
       GL_INTENSITY                                                      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.  They form a two-dimensional filter kernel  image  indexed  with
       coordinates  i  and j such that i starts at zero and increases from left
       to right, and j starts at zero and increases from bottom to top.  Kernel
       location i,j is derived from the Nth pixel, where N is i+j*_param3.

       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 corresponding GL_POST_CONVOLUTION_c_BIAS
       parameters (where c takes on the values RED, GREEN,  BLUE,  and  ALPHA).
       These parameters are set by glPixelTransfer.

NOTES
       glConvolutionFilter2D 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 targe is not GL_CONVOLUTION_2D.

       GL_INVALID_ENUM is generated if _param2 is not one of the allowable val‐
       ues.

       GL_INVALID_VALUE  is  generated  if _param3 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 _param4 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_ENUM is generated if _param5 is not one of the allowable val‐
       ues.

       GL_INVALID_ENUM is generated if _param6 is not one of the allowable val‐
       ues.

       _param5 is neither GL_RGBA nor GL_BGRA.

ASSOCIATED GETS
       glGetConvolutionParameter, glGetConvolutionFilter

SEE ALSO
       glConvolutionFilter1D,    glSeparableFilter2D,   glConvolutionParameter,
       glPixelTransfer

                                                      GLCONVOLUTIONFILTER2D(3G)

Man(1) output converted with man2html