glgetseparablefilterext
- Man Page
glGetSeparableFilterEXT(3G) OpenGL Reference glGetSeparableFilterEXT(3G)
NAME
glGetSeparableFilterEXT - get separable convolution filter kernel images
C SPECIFICATION
void glGetSeparableFilterEXT( GLenum target,
GLenum format,
GLenum type,
GLvoid *row,
GLvoid *column,
GLvoid *span )
PARAMETERS
target The separable filter to be retrieved. Must be
GL_SEPARABLE_2D_EXT.
format Format of the output images. Must be one of GL_RED, GL_GREEN,
GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_ABGR_EXT, GL_LUMINANCE, or
GL_LUMINANCE_ALPHA.
type Data type of components in the output images. Must be one of
GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT,
GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2_EXT,
GL_UNSIGNED_SHORT_4_4_4_4_EXT, GL_UNSIGNED_SHORT_5_5_5_1_EXT,
GL_UNSIGNED_INT_8_8_8_8_EXT, or GL_UNSIGNED_INT_10_10_10_2_EXT.
row Pointer to storage for the row filter image.
column Pointer to storage for the column filter image.
span Pointer to storage for the span filter image.
DESCRIPTION
glGetSeparableFilterEXT returns the two one-dimensional filter kernel
images for the current separable 2D convolution filter. The row image is
placed in row and the column image is placed in column according to the
specifications in format and type. (In the current implementation, span
is not affected in any way.) No pixel transfer operations are performed
on the images, but the relevant pixel storage modes are applied.
Color components that are present in format but not included in the
internal format of the filters are returned as zero. The assignments of
internal color components to the components of format are as follows:
Internal Component Resulting Component
________________________________________
red red
green green
blue blue
Page 1
glGetSeparableFilterEXT(3G) OpenGL Reference glGetSeparableFilterEXT(3G)
alpha alpha
luminance red
intensity red
NOTES
Non-separable 2D filters must be retrieved with
glGetConvolutionFilterEXT.
The span argument is reserved for possible future use by separable 3D
filters.
ERRORS
GL_INVALID_ENUM is generated if target is not GL_SEPARABLE_2D_EXT.
GL_INVALID_ENUM is generated if format is not one of the allowable
values.
GL_INVALID_ENUM is generated if type is not one of the allowable values.
GL_INVALID_OPERATION is generated if glGetSeparableFilterEXT is executed
between the execution of glBegin and the corresponding execution of
glEnd.
If type is set to GL_UNSIGNED_BYTE_3_3_2_EXT,
GL_UNSIGNED_SHORT_4_4_4_4_EXT, GL_UNSIGNED_SHORT_5_5_5_1_EXT,
GL_UNSIGNED_INT_8_8_8_8_EXT, or GL_UNSIGNED_INT_10_10_10_2_EXT and the
EXT_packed_pixels extension is not supported then a GL_INVALID_ENUM error
is generated.
ASSOCIATED GETS
glGetConvolutionParameterEXT
MACHINE DEPENDENCIES
On RealityEngine, RealityEngine2, and VTX systems convolution may not be
used in the following circumstances:
1. When rendering to pixmaps.
2. When fragment processing (texturing, depth buffering, alpha
testing, multisampling, fog) is enabled.
3. When histogramming or minmax is enabled.
4. When either of the pixel zoom factors has a value other than 1.0
or -1.0.
In these cases, glDrawPixels and glCopyPixels report a
GL_INVALID_OPERATION error and do not transfer any pixels.
Page 2
glGetSeparableFilterEXT(3G) OpenGL Reference glGetSeparableFilterEXT(3G)
Loading a convolution filter with some combinations of pixel transfer
modes may be unreliable on InfiniteReality systems. Straightforward
transfers are known to work, though. The remaining problems will be
fixed in the next release.
On InfiniteReality systems, kernel values are clamped to the range
[0.0,1.0] when they are retrieved. This will be fixed in a future
release.
SEE ALSO
glGetConvolutionFilterEXT, glConvolutionParameterEXT,
glSeparableFilter2DEXT.
Page 3