1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
2 <!-- saved from url=(0013)about:internet -->
3 <?xml-stylesheet type=
"text/xsl" href=
"mathml.xsl"?><html xmlns=
"http://www.w3.org/1999/xhtml" xmlns:
pref=
"http://www.w3.org/2002/Math/preference" pref:
renderer=
"mathplayer-dl"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><title>glGetSeparableFilter
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.73.2" /></head><body><div class=
"refentry" lang=
"en" xml:
lang=
"en"><a id=
"glGetSeparableFilter"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>glGetSeparableFilter — get separable convolution filter kernel images
</p></div><div class=
"refsynopsisdiv"><h2>C Specification
</h2><div class=
"funcsynopsis"><table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0"><tr><td><code class=
"funcdef">void
<b class=
"fsfunc">glGetSeparableFilter
</b>(
</code></td><td>GLenum
</td><td><var class=
"pdparam">target
</var>,
</td></tr><tr><td> </td><td>GLenum
</td><td><var class=
"pdparam">format
</var>,
</td></tr><tr><td> </td><td>GLenum
</td><td><var class=
"pdparam">type
</var>,
</td></tr><tr><td> </td><td>GLvoid *
</td><td><var class=
"pdparam">row
</var>,
</td></tr><tr><td> </td><td>GLvoid *
</td><td><var class=
"pdparam">column
</var>,
</td></tr><tr><td> </td><td>GLvoid *
</td><td><var class=
"pdparam">span
</var><code>)
</code>;
</td></tr></table></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"parameters"></a><h2>Parameters
</h2><div class=
"variablelist"><dl><dt><span class=
"term"><em class=
"parameter"><code>target
</code></em></span></dt><dd><p>
4 The separable filter to be retrieved.
6 <code class=
"constant">GL_SEPARABLE_2D
</code>.
7 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>format
</code></em></span></dt><dd><p>
8 Format of the output images.
10 <code class=
"constant">GL_RED
</code>,
11 <code class=
"constant">GL_GREEN
</code>,
12 <code class=
"constant">GL_BLUE
</code>,
13 <code class=
"constant">GL_ALPHA
</code>,
14 <code class=
"constant">GL_RGB
</code>,
15 <code class=
"constant">GL_BGR
</code>
16 <code class=
"constant">GL_RGBA
</code>,
17 <code class=
"constant">GL_BGRA
</code>,
18 <code class=
"constant">GL_LUMINANCE
</code>, or
19 <code class=
"constant">GL_LUMINANCE_ALPHA
</code>.
20 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>type
</code></em></span></dt><dd><p>
21 Data type of components in the output images.
23 <code class=
"constant">GL_UNSIGNED_BYTE
</code>,
24 <code class=
"constant">GL_BYTE
</code>,
25 <code class=
"constant">GL_BITMAP
</code>,
26 <code class=
"constant">GL_UNSIGNED_SHORT
</code>,
27 <code class=
"constant">GL_SHORT
</code>,
28 <code class=
"constant">GL_UNSIGNED_INT
</code>,
29 <code class=
"constant">GL_INT
</code>,
30 <code class=
"constant">GL_FLOAT
</code>,
31 <code class=
"constant">GL_UNSIGNED_BYTE_3_3_2
</code>,
32 <code class=
"constant">GL_UNSIGNED_BYTE_2_3_3_REV
</code>,
33 <code class=
"constant">GL_UNSIGNED_SHORT_5_6_5
</code>,
34 <code class=
"constant">GL_UNSIGNED_SHORT_5_6_5_REV
</code>,
35 <code class=
"constant">GL_UNSIGNED_SHORT_4_4_4_4
</code>,
36 <code class=
"constant">GL_UNSIGNED_SHORT_4_4_4_4_REV
</code>,
37 <code class=
"constant">GL_UNSIGNED_SHORT_5_5_5_1
</code>,
38 <code class=
"constant">GL_UNSIGNED_SHORT_1_5_5_5_REV
</code>,
39 <code class=
"constant">GL_UNSIGNED_INT_8_8_8_8
</code>,
40 <code class=
"constant">GL_UNSIGNED_INT_8_8_8_8_REV
</code>,
41 <code class=
"constant">GL_UNSIGNED_INT_10_10_10_2
</code>, and
42 <code class=
"constant">GL_UNSIGNED_INT_2_10_10_10_REV
</code>
44 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>row
</code></em></span></dt><dd><p>
45 Pointer to storage for the row filter image.
46 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>column
</code></em></span></dt><dd><p>
47 Pointer to storage for the column filter image.
48 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>span
</code></em></span></dt><dd><p>
49 Pointer to storage for the span filter image (currently unused).
50 </p></dd></dl></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"description"></a><h2>Description
</h2><p>
51 <code class=
"function">glGetSeparableFilter
</code> returns the two one-dimensional filter kernel images for the
52 current separable
2D convolution filter.
53 The row image is placed in
<em class=
"parameter"><code>row
</code></em> and the column image is placed in
54 <em class=
"parameter"><code>column
</code></em> according to the specifications in
<em class=
"parameter"><code>format
</code></em> and
<em class=
"parameter"><code>type
</code></em>.
55 (In the current implementation,
<em class=
"parameter"><code>span
</code></em> is not affected in any way.)
56 No pixel transfer operations are performed on the images, but the relevant
57 pixel storage modes are applied.
59 If a non-zero named buffer object is bound to the
<code class=
"constant">GL_PIXEL_PACK_BUFFER
</code> target
60 (see
<a class=
"citerefentry" href=
"glBindBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBindBuffer
</span></span></a>) while a separable convolution filter is
61 requested,
<em class=
"parameter"><code>row
</code></em>,
<em class=
"parameter"><code>column
</code></em>, and
<em class=
"parameter"><code>span
</code></em> are treated as a byte offset into the buffer object's data store.
63 Color components that are present in
<em class=
"parameter"><code>format
</code></em> but not included in the
64 internal format of the filters are returned as zero.
65 The assignments of internal color components to the components of
<em class=
"parameter"><code>format
</code></em>
68 </p><div class=
"informaltable"><table border=
"1"><colgroup><col align=
"center" /><col align=
"center" /></colgroup><thead><tr><th align=
"center"><span class=
"bold"><strong>
70 </strong></span></th><th align=
"center"><span class=
"bold"><strong>
72 </strong></span></th></tr></thead><tbody><tr><td align=
"left">
74 </td><td align=
"left">
76 </td></tr><tr><td align=
"left">
78 </td><td align=
"left">
80 </td></tr><tr><td align=
"left">
82 </td><td align=
"left">
84 </td></tr><tr><td align=
"left">
86 </td><td align=
"left">
88 </td></tr><tr><td align=
"left">
90 </td><td align=
"left">
92 </td></tr><tr><td align=
"left">
94 </td><td align=
"left">
96 </td></tr></tbody></table></div><p>
97 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"notes"></a><h2>Notes
</h2><p>
98 <code class=
"function">glGetSeparableFilter
</code> is present only if
<code class=
"code">ARB_imaging
</code> is returned when
<a class=
"citerefentry" href=
"glGetString.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetString
</span></span></a>
99 is called with an argument of
<code class=
"constant">GL_EXTENSIONS
</code>.
101 Non-separable
2D filters must be retrieved with
<a class=
"citerefentry" href=
"glGetConvolutionFilter.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetConvolutionFilter
</span></span></a>.
102 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"errors"></a><h2>Errors
</h2><p>
103 <code class=
"constant">GL_INVALID_ENUM
</code> is generated if
<em class=
"parameter"><code>target
</code></em> is not
<code class=
"constant">GL_SEPARABLE_2D
</code>.
105 <code class=
"constant">GL_INVALID_ENUM
</code> is generated if
<em class=
"parameter"><code>format
</code></em> is not one of the allowable
108 <code class=
"constant">GL_INVALID_ENUM
</code> is generated if
<em class=
"parameter"><code>type
</code></em> is not one of the allowable
111 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<em class=
"parameter"><code>type
</code></em> is one of
112 <code class=
"constant">GL_UNSIGNED_BYTE_3_3_2
</code>,
113 <code class=
"constant">GL_UNSIGNED_BYTE_2_3_3_REV
</code>,
114 <code class=
"constant">GL_UNSIGNED_SHORT_5_6_5
</code>, or
115 <code class=
"constant">GL_UNSIGNED_SHORT_5_6_5_REV
</code>
116 and
<em class=
"parameter"><code>format
</code></em> is not
<code class=
"constant">GL_RGB
</code>.
118 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<em class=
"parameter"><code>type
</code></em> is one of
119 <code class=
"constant">GL_UNSIGNED_SHORT_4_4_4_4
</code>,
120 <code class=
"constant">GL_UNSIGNED_SHORT_4_4_4_4_REV
</code>,
121 <code class=
"constant">GL_UNSIGNED_SHORT_5_5_5_1
</code>,
122 <code class=
"constant">GL_UNSIGNED_SHORT_1_5_5_5_REV
</code>,
123 <code class=
"constant">GL_UNSIGNED_INT_8_8_8_8
</code>,
124 <code class=
"constant">GL_UNSIGNED_INT_8_8_8_8_REV
</code>,
125 <code class=
"constant">GL_UNSIGNED_INT_10_10_10_2
</code>, or
126 <code class=
"constant">GL_UNSIGNED_INT_2_10_10_10_REV
</code>
127 and
<em class=
"parameter"><code>format
</code></em> is neither
<code class=
"constant">GL_RGBA
</code> nor
<code class=
"constant">GL_BGRA
</code>.
129 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if a non-zero buffer object name is bound to the
130 <code class=
"constant">GL_PIXEL_PACK_BUFFER
</code> target and the buffer object's data store is currently mapped.
132 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if a non-zero buffer object name is bound to the
133 <code class=
"constant">GL_PIXEL_PACK_BUFFER
</code> target and the data would be packed to the buffer
134 object such that the memory writes required would exceed the data store size.
136 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if a non-zero buffer object name is bound to the
137 <code class=
"constant">GL_PIXEL_PACK_BUFFER
</code> target and
<em class=
"parameter"><code>row
</code></em> or
<em class=
"parameter"><code>column
</code></em> is not evenly divisible
138 into the number of bytes needed to store in memory a datum indicated by
<em class=
"parameter"><code>type
</code></em>.
140 <code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
<code class=
"function">glGetSeparableFilter
</code> is executed
141 between the execution of
<a class=
"citerefentry" href=
"glBegin.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBegin
</span></span></a> and the corresponding
142 execution of
<a class=
"citerefentry" href=
"glEnd.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEnd
</span></span></a>.
143 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"associatedgets"></a><h2>Associated Gets
</h2><p>
144 <a class=
"citerefentry" href=
"glGetConvolutionParameter.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetConvolutionParameter
</span></span></a>
146 <a class=
"citerefentry" href=
"glGet.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGet
</span></span></a> with argument
<code class=
"constant">GL_PIXEL_PACK_BUFFER_BINDING
</code>
147 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"seealso"></a><h2>See Also
</h2><p>
148 <a class=
"citerefentry" href=
"glGetConvolutionFilter.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetConvolutionFilter
</span></span></a>,
149 <a class=
"citerefentry" href=
"glConvolutionParameter.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glConvolutionParameter
</span></span></a>,
150 <a class=
"citerefentry" href=
"glSeparableFilter2D.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glSeparableFilter2D
</span></span></a>
151 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"Copyright"></a><h2>Copyright
</h2><p>
152 Copyright
<span class=
"trademark"></span>©
1991-
2006
153 Silicon Graphics, Inc. This document is licensed under the SGI
154 Free Software B License. For details, see
155 <a class=
"ulink" href=
"http://oss.sgi.com/projects/FreeB/" target=
"_top">http://oss.sgi.com/projects/FreeB/
</a>.
156 </p></div></div></body></html>