glConvolutionFilter1DEXT(3G) OpenGL Reference glConvolutionFilter1DEXT(3G)
NAME
glConvolutionFilter1DEXT - define a one-dimensional convolution filter
C SPECIFICATION
void glConvolutionFilter1DEXT( GLenum target,
GLenum internalformat,
GLsizei width,
GLenum format,
GLenum type,
const GLvoid *image )
PARAMETERS
target Must be GLCONVOLUTION1DEXT.
internalformat The internal format of the convolution filter kernel.
The allowable values are GLALPHA, GLLUMINANCE,
GLLUMINANCEALPHA, GLINTENSITYEXT, GLRGB, and
GLRGBA.
width The width of the pixel array referenced by image.
format The format of the pixel data in image. The allowable
values are GLRGBA, GLABGREXT, GLRED, GLGREEN,
GLBLUE, GLALPHA, GLRGB, GLLUMINANCE,
GLLUMINANCEALPHA and GLYCRCB422SGIX are accepted.
type The type of the pixel data in image. The allowable
values are GLUNSIGNEDBYTE, GLBYTE, GLUNSIGNEDSHORT,
GLSHORT, GLUNSIGNEDINT, GLINT, GLFLOAT,
GLUNSIGNEDBYTE332EXT,
GLUNSIGNEDSHORT4444EXT,
GLUNSIGNEDSHORT5551EXT,
GLUNSIGNEDINT8888EXT, and
GLUNSIGNEDINT1010102EXT.
image Pointer to a one-dimensional array of pixel data that is
processed to build the convolution filter kernel.
DESCRIPTION
glConvolutionFilter1DEXT builds a one-dimensional convolution filter
kernel from an array of pixels.
The pixel array specified by width, format, type, and image is extracted
from memory and processed just as if glDrawPixels were called, but
processing stops after the final expansion to RGBA is completed.
The R, G, B, and A components of each pixel are next scaled by the four
1D GLCONVOLUTIONFILTERSCALEEXT parameters and biased by the four 1D
GLCONVOLUTIONFILTERBIASEXT parameters. (The scale and bias
parameters are set by glConvolutionParameterEXT using the
Page 1
glConvolutionFilter1DEXT(3G) OpenGL Reference glConvolutionFilter1DEXT(3G)
GLCONVOLUTION1DEXT target and the names
GLCONVOLUTIONFILTERSCALEEXT and GLCONVOLUTIONFILTERBIASEXT. 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 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
_______________________________________________________________________
GLALPHA A
GLLUMINANCE R
GLLUMINANCEALPHA A R
GLINTENSITYEXT R
GLRGB R G B
GLRGBA 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 one-dimensional filter kernel image indexed with
coordinate i such that i starts at 0 and increases from left to right.
Kernel location i is derived from the ith pixel, counting from 0.
Note that after a convolution is performed, the resulting color
components are also scaled by their corresponding
GLPOSTCONVOLUTIONcSCALEEXT parameters and biased by their
corresponding GLPOSTCONVOLUTIONcBIASEXT parameters (where c takes on
the values RED, GREEN, BLUE, and ALPHA). These parameters are set by
glPixelTransfer.
ERRORS
GLINVALIDENUM is generated if target is not GLCONVOLUTION1DEXT.
GLINVALIDENUM is generated if internalformat is not one of the
allowable values.
GLINVALIDVALUE is generated if width is less than zero or greater than
the maximum supported value. This value may be queried with
glGetConvolutionParameterEXT using target GLCONVOLUTION1DEXT and name
GLMAXCONVOLUTIONWIDTHEXT.
GLINVALIDENUM is generated if format is not one of the allowable
values.
GLINVALIDENUM is generated if type is not one of the allowable values.
Page 2
glConvolutionFilter1DEXT(3G) OpenGL Reference glConvolutionFilter1DEXT(3G)
GLINVALIDOPERATION is generated if glConvolutionFilter1DEXT is executed
between the execution of glBegin and the corresponding execution of
glEnd.
If type is set to GLUNSIGNEDBYTE332EXT,
GLUNSIGNEDSHORT4444EXT, GLUNSIGNEDSHORT5551EXT,
GLUNSIGNEDINT8888EXT, or GLUNSIGNEDINT1010102EXT and the
EXTpackedpixels extension is not supported then a GLINVALIDENUM error
is generated.
ASSOCIATED GETS
glGetConvolutionParameterEXT, glGetConvolutionFilterEXT
MACHINE DEPENDENCIES
glConvolutionFilter1DEXT is not supported on RealityEngine,
RealityEngine2, and VTX systems.
SEE ALSO
glConvolutionFilter2DEXT, glSeparableFilter2DEXT,
glConvolutionParameterEXT, glEnable with parameter GLCONVOLUTION1DEXT,
glPixelTransfer.
Page 3