C SPECIFICATION

       void GLAPIENTRY glSeparableFilter2D( GLenum targe )



PARAMETERS

       targe  Must be GL_SEPARABLE_2D.

       _param2
              The internal format  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.

       _param3
              The number of elements in the pixel array referenced by _param7.
              (This is the width of the separable filter kernel.)

       _param4
              The number of elements in the pixel array referenced by _param8.
              (This is the height of the separable filter kernel.)

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

       _param6
              The  type  of  the  pixel data in _param7 and _param8.  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 one-dimensional array of pixel data  that  is  pro-
              cessed to build the row filter kernel.

       scaled  by the four separable 2D GL_CONVOLUTION_FILTER_SCALE parameters
       and biased by the four separable 2D GL_CONVOLUTION_FILTER_BIAS  parame-
       ters.  (The scale and bias parameters are set by glConvolutionParameter
       using     the     GL_SEPARABLE_2D     target     and     the      names
       GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS.  The param-
       eters 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  format  specified  by
       _param2.  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 fol-
       lows:






































       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 two one-dimensional filter kernel images.   The  row
       image  is  indexed by coordinate i starting at zero and increasing from
       left to right.  Each location in the row image is derived from  element
       i  of _param7.  The column image is indexed by coordinate j starting at
       zero and increasing from bottom to top.  Each location  in  the  column
       image is derived from element j of _param8.

       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

       glSeparableFilter2D 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_SEPARABLE_2D.

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

       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_SEPARABLE_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_SEPARABLE_2D  and  name
       GL_MAX_CONVOLUTION_HEIGHT.

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

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

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

       GL_INVALID_OPERATION   is   generated   if   _param4    is    one    of


SEE ALSO

       glConvolutionFilter1D,  glConvolutionFilter2D,  glConvolutionParameter,
       glPixelTransfer



                                                       GLSEPARABLEFILTER2D(3G)

Man(1) output converted with man2html