glGetSeparableFilter
Prev | GL | Next

## Name

glGetSeparableFilter — get separable convolution filter kernel images

## C Specification

`void `glGetSeparableFilter`` | `(` | `GLenum `target`, GLenum `format`, GLenum `type`, GLvoid *`row`, GLvoid *`column`, GLvoid *`span`);`

## Python Specification

``glGetSeparableFilter`` | `(` | ``target`, `format`, `type`, `row`, `column`, `span`) → `None``

## Parameters

`target`
  The separable filter to be retrieved. Must be `GL_SEPARABLE_2D`.
`format`
  Format of the output images. Must be one of `GL_RED`, `GL_GREEN`, `GL_BLUE`, `GL_ALPHA`, `GL_RGB`, `GL_BGR` `GL_RGBA`, `GL_BGRA`, `GL_LUMINANCE`, or `GL_LUMINANCE_ALPHA`.
`type`
  Data type of components in the output images. 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.
`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 (currently unused).

## Description

`glGetSeparableFilter` 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 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
Alpha | Alpha
Luminance | Red
Intensity | Red

## Notes

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

Non-separable 2D filters must be retrieved with `glGetConvolutionFilter`.

## Errors

`GL_INVALID_ENUM` is generated if `target` is not `GL_SEPARABLE_2D`.

`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 `glGetSeparableFilter` is executed between the execution of `glBegin` and the corresponding execution of `glEnd`.

`GL_INVALID_OPERATION` is generated if `type` is one of `GL_UNSIGNED_BYTE_3_3_2`, `GL_UNSIGNED_BYTE_2_3_3_REV`, `GL_UNSIGNED_SHORT_5_6_5`, or `GL_UNSIGNED_SHORT_5_6_5_REV` and `format` is not `GL_RGB`.

`GL_INVALID_OPERATION` is generated if `type` is one of `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`, or `GL_UNSIGNED_INT_2_10_10_10_REV` and `format` is neither `GL_RGBA` nor `GL_BGRA`.

## Associated Gets

`glGetConvolutionParameter`

## See Also

glGetConvolutionFilter, glConvolutionParameter, glSeparableFilter2D

Prev | Up | Next
glGetPolygonStipple | Home | glGetString