glGetConvolutionFilter
Prev | GL | Next

## Name

glGetConvolutionFilter — get current 1D or 2D convolution filter kernel

## C Specification

`void `glGetConvolutionFilter`` | `(` | `GLenum `target`, GLenum `format`, GLenum `type`, GLvoid *`image`);`

## Python Specification

``glGetConvolutionFilter`` | `(` | ``target`, `format`, `type`, `image`) → `None``

## Parameters

`target`
  The filter to be retrieved. Must be one of `GL_CONVOLUTION_1D` or `GL_CONVOLUTION_2D`.
`format`
  Format of the output image. 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 image. 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.
`image`
  Pointer to storage for the output image.

## Description

`glGetConvolutionFilter` returns the current 1D or 2D convolution filter kernel as an image. The one- or two-dimensional image is placed in `image` according to the specifications in `format` and `type`. No pixel transfer operations are performed on this image, but the relevant pixel storage modes are applied. Color components that are present in `format` but not included in the internal of the filter 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

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

The current separable 2D filter must be retrieved with `glGetSeparableFilter` rather than `glGetConvolutionFilter`.

## Errors

`GL_INVALID_ENUM` is generated if `target` is not one of the allowable values.

`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 `glGetConvolutionFilter` 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

glGetSeparableFilter, glConvolutionParameter, glConvolutionFilter1D, glConvolutionFilter2D

Prev | Up | Next
glGetColorTableParameter | Home | glGetConvolutionParameter