1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE book PUBLIC
"-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id=
"glGetConvolutionFilter">
9 <holder>Silicon Graphics, Inc.
</holder>
12 <refentrytitle>glGetConvolutionFilter
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glGetConvolutionFilter
</refname>
17 <refpurpose>get current
1D or
2D convolution filter kernel
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glGetConvolutionFilter
</function></funcdef>
23 <paramdef>GLenum
<parameter>target
</parameter></paramdef>
24 <paramdef>GLenum
<parameter>format
</parameter></paramdef>
25 <paramdef>GLenum
<parameter>type
</parameter></paramdef>
26 <paramdef>GLvoid *
<parameter>image
</parameter></paramdef>
30 <refsect1 id=
"parameters"><title>Parameters
</title>
33 <term><parameter>target
</parameter></term>
36 The filter to be retrieved.
38 <constant>GL_CONVOLUTION_1D
</constant> or
39 <constant>GL_CONVOLUTION_2D
</constant>.
44 <term><parameter>format
</parameter></term>
47 Format of the output image.
49 <constant>GL_RED
</constant>,
50 <constant>GL_GREEN
</constant>,
51 <constant>GL_BLUE
</constant>,
52 <constant>GL_ALPHA
</constant>,
53 <constant>GL_RGB
</constant>,
54 <constant>GL_BGR
</constant>,
55 <constant>GL_RGBA
</constant>,
56 <constant>GL_BGRA
</constant>,
57 <constant>GL_LUMINANCE
</constant>, or
58 <constant>GL_LUMINANCE_ALPHA
</constant>.
63 <term><parameter>type
</parameter></term>
66 Data type of components in the output image.
68 <constant>GL_UNSIGNED_BYTE
</constant>,
69 <constant>GL_BYTE
</constant>,
70 <constant>GL_BITMAP
</constant>,
71 <constant>GL_UNSIGNED_SHORT
</constant>,
72 <constant>GL_SHORT
</constant>,
73 <constant>GL_UNSIGNED_INT
</constant>,
74 <constant>GL_INT
</constant>,
75 <constant>GL_FLOAT
</constant>,
76 <constant>GL_UNSIGNED_BYTE_3_3_2
</constant>,
77 <constant>GL_UNSIGNED_BYTE_2_3_3_REV
</constant>,
78 <constant>GL_UNSIGNED_SHORT_5_6_5
</constant>,
79 <constant>GL_UNSIGNED_SHORT_5_6_5_REV
</constant>,
80 <constant>GL_UNSIGNED_SHORT_4_4_4_4
</constant>,
81 <constant>GL_UNSIGNED_SHORT_4_4_4_4_REV
</constant>,
82 <constant>GL_UNSIGNED_SHORT_5_5_5_1
</constant>,
83 <constant>GL_UNSIGNED_SHORT_1_5_5_5_REV
</constant>,
84 <constant>GL_UNSIGNED_INT_8_8_8_8
</constant>,
85 <constant>GL_UNSIGNED_INT_8_8_8_8_REV
</constant>,
86 <constant>GL_UNSIGNED_INT_10_10_10_2
</constant>, and
87 <constant>GL_UNSIGNED_INT_2_10_10_10_REV
</constant>
93 <term><parameter>image
</parameter></term>
96 Pointer to storage for the output image.
102 <refsect1 id=
"description"><title>Description
</title>
104 <function>glGetConvolutionFilter
</function> returns the current
1D or
2D convolution filter kernel as an image.
105 The one- or two-dimensional image is placed in
<parameter>image
</parameter> according to the
106 specifications in
<parameter>format
</parameter> and
<parameter>type
</parameter>.
107 No pixel transfer operations are performed on this image, but the relevant
108 pixel storage modes are applied.
111 If a non-zero named buffer object is bound to the
<constant>GL_PIXEL_PACK_BUFFER
</constant> target
112 (see
<citerefentry><refentrytitle>glBindBuffer
</refentrytitle></citerefentry>) while a convolution filter is
113 requested,
<parameter>image
</parameter> is treated as a byte offset into the buffer object's data store.
116 Color components that are present in
<parameter>format
</parameter> but not included in the
117 internal format of the filter are returned as zero.
118 The assignments of internal color components to the components of
<parameter>format
</parameter>
121 <informaltable frame=
"topbot">
122 <tgroup cols=
"2" align=
"left">
127 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
130 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
190 <refsect1 id=
"notes"><title>Notes
</title>
192 <function>glGetConvolutionFilter
</function> is present only if
<code>ARB_imaging
</code> is returned when
<citerefentry><refentrytitle>glGetString
</refentrytitle></citerefentry>
193 is called with an argument of
<constant>GL_EXTENSIONS
</constant>.
196 The current separable
2D filter must be retrieved with
197 <citerefentry><refentrytitle>glGetSeparableFilter
</refentrytitle></citerefentry> rather than
<function>glGetConvolutionFilter
</function>.
200 <refsect1 id=
"errors"><title>Errors
</title>
202 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>target
</parameter> is not one of the allowable
206 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>format
</parameter> is not one of the allowable
210 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>type
</parameter> is not one of the allowable
214 <constant>GL_INVALID_OPERATION
</constant> is generated if
<parameter>type
</parameter> is one of
215 <constant>GL_UNSIGNED_BYTE_3_3_2
</constant>,
216 <constant>GL_UNSIGNED_BYTE_2_3_3_REV
</constant>,
217 <constant>GL_UNSIGNED_SHORT_5_6_5
</constant>, or
218 <constant>GL_UNSIGNED_SHORT_5_6_5_REV
</constant>
219 and
<parameter>format
</parameter> is not
<constant>GL_RGB
</constant>.
222 <constant>GL_INVALID_OPERATION
</constant> is generated if
<parameter>type
</parameter> is one of
223 <constant>GL_UNSIGNED_SHORT_4_4_4_4
</constant>,
224 <constant>GL_UNSIGNED_SHORT_4_4_4_4_REV
</constant>,
225 <constant>GL_UNSIGNED_SHORT_5_5_5_1
</constant>,
226 <constant>GL_UNSIGNED_SHORT_1_5_5_5_REV
</constant>,
227 <constant>GL_UNSIGNED_INT_8_8_8_8
</constant>,
228 <constant>GL_UNSIGNED_INT_8_8_8_8_REV
</constant>,
229 <constant>GL_UNSIGNED_INT_10_10_10_2
</constant>, or
230 <constant>GL_UNSIGNED_INT_2_10_10_10_REV
</constant>
231 and
<parameter>format
</parameter> is neither
<constant>GL_RGBA
</constant> nor
<constant>GL_BGRA
</constant>.
234 <constant>GL_INVALID_OPERATION
</constant> is generated if a non-zero buffer object name is bound to the
235 <constant>GL_PIXEL_PACK_BUFFER
</constant> target and the buffer object's data store is currently mapped.
238 <constant>GL_INVALID_OPERATION
</constant> is generated if a non-zero buffer object name is bound to the
239 <constant>GL_PIXEL_PACK_BUFFER
</constant> target and the data would be packed to the buffer
240 object such that the memory writes required would exceed the data store size.
243 <constant>GL_INVALID_OPERATION
</constant> is generated if a non-zero buffer object name is bound to the
244 <constant>GL_PIXEL_PACK_BUFFER
</constant> target and
<parameter>image
</parameter> is not evenly divisible
245 into the number of bytes needed to store in memory a datum indicated by
<parameter>type
</parameter>.
248 <constant>GL_INVALID_OPERATION
</constant> is generated if
<function>glGetConvolutionFilter
</function> is executed
249 between the execution of
<citerefentry><refentrytitle>glBegin
</refentrytitle></citerefentry> and the corresponding
250 execution of
<citerefentry><refentrytitle>glEnd
</refentrytitle></citerefentry>.
253 <refsect1 id=
"associatedgets"><title>Associated Gets
</title>
255 <citerefentry><refentrytitle>glGetConvolutionParameter
</refentrytitle></citerefentry>
258 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PIXEL_PACK_BUFFER_BINDING
</constant>
261 <refsect1 id=
"seealso"><title>See Also
</title>
263 <citerefentry><refentrytitle>glGetSeparableFilter
</refentrytitle></citerefentry>,
264 <citerefentry><refentrytitle>glConvolutionParameter
</refentrytitle></citerefentry>,
265 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
266 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>
269 <refsect1 id=
"Copyright"><title>Copyright
</title>
271 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
272 Silicon Graphics, Inc. This document is licensed under the SGI
273 Free Software B License. For details, see
274 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.