1GLCOPYCONVOLUTIONFILTER1D(3G)                    GLCOPYCONVOLUTIONFILTER1D(3G)
2
3
4

NAME

6       glCopyConvolutionFilter1D - copy pixels into a one-dimensional convolu‐
7       tion filter
8
9

C SPECIFICATION

11       void glCopyConvolutionFilter1D( GLenum target,
12                                       GLenum internalformat,
13                                       GLint x,
14                                       GLint y,
15                                       GLsizei width )
16
17

PARAMETERS

19       target          Must be GL_CONVOLUTION_1D.
20
21       internalformat  The internal  of the convolution  filter  kernel.   The
22                       allowable  values  are  GL_ALPHA, GL_ALPHA4, GL_ALPHA8,
23                       GL_ALPHA12,  GL_ALPHA16,  GL_LUMINANCE,  GL_LUMINANCE4,
24                       GL_LUMINANCE8,      GL_LUMINANCE12,     GL_LUMINANCE16,
25                       GL_LUMINANCE_ALPHA,               GL_LUMINANCE4_ALPHA4,
26                       GL_LUMINANCE6_ALPHA2,             GL_LUMINANCE8_ALPHA8,
27                       GL_LUMINANCE12_ALPHA4,          GL_LUMINANCE12_ALPHA12,
28                       GL_LUMINANCE16_ALPHA16,   GL_INTENSITY,  GL_INTENSITY4,
29                       GL_INTENSITY8,     GL_INTENSITY12,      GL_INTENSITY16,
30                       GL_R3_G3_B2,   GL_RGB,   GL_RGB4,   GL_RGB5,   GL_RGB8,
31                       GL_RGB10,  GL_RGB12,   GL_RGB16,   GL_RGBA,   GL_RGBA2,
32                       GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12,
33                       or GL_RGBA16.
34
35       x, y            The window space coordinates of the lower-left  coordi‐
36                       nate of the pixel array to copy.
37
38       width           The width of the pixel array to copy.
39

DESCRIPTION

41       glCopyConvolutionFilter1D  defines a one-dimensional convolution filter
42       kernel with pixels from the current GL_READ_BUFFER  (rather  than  from
43       main memory, as is the case for glConvolutionFilter1D).
44
45       The  screen-aligned  pixel  rectangle with lower-left corner at (x, y),
46       width width and height 1 is used to define the convolution filter.   If
47       any pixels within this region are outside the window that is associated
48       with the GL context, the values obtained for  those  pixels  are  unde‐
49       fined.
50
51       The  pixels  in  the rectangle are processed exactly as if glReadPixels
52       had been called with format set to RGBA, but  the  process  stops  just
53       before  final  conversion.  The R, G, B, and A components of each pixel
54       are next scaled by the four 1D  GL_CONVOLUTION_FILTER_SCALE  parameters
55       and  biased by the four 1D GL_CONVOLUTION_FILTER_BIAS parameters.  (The
56       scale and bias parameters are set by glConvolutionParameter  using  the
57       GL_CONVOLUTION_1D  target and the names GL_CONVOLUTION_FILTER_SCALE and
58       GL_CONVOLUTION_FILTER_BIAS.  The parameters themselves are  vectors  of
59       four  values  that  are applied to red, green, blue, and alpha, in that
60       order.)  The R, G, B, and A values are not clamped to [0,1] at any time
61       during this process.
62
63       Each pixel is then converted to the internal  specified by internalfor‐
64       mat.  This conversion simply maps the component values of the pixel (R,
65       G, B, and A) to the values included in the internal  (red, green, blue,
66       alpha, luminance, and intensity).  The mapping is as follows:
67
68
69       ────────────────────────────────────────────────────────────────────────
70       Internal Format      Red   Green   Blue   Alpha   Luminance   Intensity
71       ────────────────────────────────────────────────────────────────────────
72       GL_ALPHA                                    A
73       GL_LUMINANCE                                R
74       GL_LUMINANCE_ALPHA                  A       R
75       GL_INTENSITY                                                      R
76       GL_RGB                R      G      B
77       GL_RGBA               R      G      B       A
78       ────────────────────────────────────────────────────────────────────────
79
80       The red, green, blue, alpha, luminance, and/or intensity components  of
81       the resulting pixels are stored in floating-point rather than integer
82
83       Pixel  ordering  is  such that lower x screen coordinates correspond to
84       lower i filter image coordinates.
85
86       Note that after a convolution is performed, the resulting color  compo‐
87       nents      are      also      scaled     by     their     corresponding
88       GL_POST_CONVOLUTION_c_SCALE parameters and biased by their  correspond‐
89       ing  GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the values
90       RED,  GREEN,  BLUE,  and  ALPHA).   These   parameters   are   set   by
91       glPixelTransfer.
92

NOTES

94       glCopyConvolutionFilter1D is present only if GL_ARB_imaging is returned
95       when glGetString is called with an argument of GL_EXTENSIONS.
96

ERRORS

98       GL_INVALID_ENUM is generated if target is not GL_CONVOLUTION_1D.
99
100       GL_INVALID_ENUM is generated if internalformat is not one of the allow‐
101       able values.
102
103       GL_INVALID_VALUE  is  generated  if  width is less than zero or greater
104       than the maximum supported value.   This  value  may  be  queried  with
105       glGetConvolutionParameter   using  target  GL_CONVOLUTION_1D  and  name
106       GL_MAX_CONVOLUTION_WIDTH.
107
108       GL_INVALID_OPERATION is generated if glCopyConvolutionFilter1D is  exe‐
109       cuted  between the execution of glBegin and the corresponding execution
110       of glEnd.
111

ASSOCIATED GETS

113       glGetConvolutionParameter, glGetConvolutionFilter
114

SEE ALSO

116       glConvolutionFilter1D(3G),                  glConvolutionParameter(3G),
117       glPixelTransfer(3G)
118
119
120
121                                                 GLCOPYCONVOLUTIONFILTER1D(3G)
Impressum