1GLGETSEPARABLEFILTER(3G) OpenGL Manual GLGETSEPARABLEFILTER(3G)
2
3
4
6 glGetSeparableFilter - get separable convolution filter kernel images
7
9 void glGetSeparableFilter(GLenum target, GLenum format, GLenum type,
10 GLvoid * row, GLvoid * column,
11 GLvoid * span);
12
14 target
15 The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
16
17 format
18 Format of the output images. Must be one of GL_RED, GL_GREEN,
19 GL_BLUE, GL_ALPHA, GL_RGB, GL_BGRGL_RGBA, GL_BGRA, GL_LUMINANCE, or
20 GL_LUMINANCE_ALPHA.
21
22 type
23 Data type of components in the output images. Symbolic constants
24 GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT,
25 GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
26 GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5,
27 GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4,
28 GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1,
29 GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8,
30 GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and
31 GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
32
33 row
34 Pointer to storage for the row filter image.
35
36 column
37 Pointer to storage for the column filter image.
38
39 span
40 Pointer to storage for the span filter image (currently unused).
41
43 glGetSeparableFilter returns the two one-dimensional filter kernel
44 images for the current separable 2D convolution filter. The row image
45 is placed in row and the column image is placed in column according to
46 the specifications in format and type. (In the current implementation,
47 span is not affected in any way.) No pixel transfer operations are
48 performed on the images, but the relevant pixel storage modes are
49 applied.
50
51 If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER
52 target (see glBindBuffer()) while a separable convolution filter is
53 requested, row, column, and span are treated as a byte offset into the
54 buffer object's data store.
55
56 Color components that are present in format but not included in the
57 internal format of the filters are returned as zero. The assignments of
58 internal color components to the components of format are as follows:
59
60 ┌─────────────────────────────────┬───────────────────────────────────┐
61 │ │ │
62 │ Internal │ Resulting │
63 │Component │ Component │
64 │ │ │
65 ├─────────────────────────────────┼───────────────────────────────────┤
66 │Red │ Red │
67 ├─────────────────────────────────┼───────────────────────────────────┤
68 │Green │ Green │
69 ├─────────────────────────────────┼───────────────────────────────────┤
70 │Blue │ Blue │
71 ├─────────────────────────────────┼───────────────────────────────────┤
72 │Alpha │ Alpha │
73 ├─────────────────────────────────┼───────────────────────────────────┤
74 │Luminance │ Red │
75 ├─────────────────────────────────┼───────────────────────────────────┤
76 │Intensity │ Red │
77 └─────────────────────────────────┴───────────────────────────────────┘
78
80 glGetSeparableFilter is present only if ARB_imaging is returned when
81 glGetString() is called with an argument of GL_EXTENSIONS.
82
83 Non-separable 2D filters must be retrieved with
84 glGetConvolutionFilter().
85
87 GL_INVALID_ENUM is generated if target is not GL_SEPARABLE_2D.
88
89 GL_INVALID_ENUM is generated if format is not one of the allowable
90 values.
91
92 GL_INVALID_ENUM is generated if type is not one of the allowable
93 values.
94
95 GL_INVALID_OPERATION is generated if type is one of
96 GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV,
97 GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is
98 not GL_RGB.
99
100 GL_INVALID_OPERATION is generated if type is one of
101 GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV,
102 GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
103 GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV,
104 GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and
105 format is neither GL_RGBA nor GL_BGRA.
106
107 GL_INVALID_OPERATION is generated if a non-zero buffer object name is
108 bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data
109 store is currently mapped.
110
111 GL_INVALID_OPERATION is generated if a non-zero buffer object name is
112 bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed
113 to the buffer object such that the memory writes required would exceed
114 the data store size.
115
116 GL_INVALID_OPERATION is generated if a non-zero buffer object name is
117 bound to the GL_PIXEL_PACK_BUFFER target and row or column is not
118 evenly divisible into the number of bytes needed to store in memory a
119 datum indicated by type.
120
121 GL_INVALID_OPERATION is generated if glGetSeparableFilter is executed
122 between the execution of glBegin() and the corresponding execution of
123 glEnd().
124
126 glGetConvolutionParameter()
127
128 glGet() with argument GL_PIXEL_PACK_BUFFER_BINDING
129
131 glGetConvolutionFilter(), glConvolutionParameter(),
132 glSeparableFilter2D()
133
135 Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed
136 under the SGI Free Software B License. For details, see
137 http://oss.sgi.com/projects/FreeB/.
138
140 opengl.org
141
142
143
144opengl.org 06/10/2014 GLGETSEPARABLEFILTER(3G)