forked from BSVino/docs.gl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
glEnable.xhtml
201 lines (200 loc) · 19.4 KB
/
glEnable.xhtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<div class="refentry" lang="en" xml:lang="en"><a id="glEnable"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glEnable — enable or disable server-side GL capabilities</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><p><code class="funcdef">void <b class="fsfunc">glEnable</b>(</code>GLenum <var class="pdparam">cap</var><code>)</code>;</p></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>cap</code></em></span></dt><dd><p>
Specifies a symbolic constant indicating a GL capability.
</p></dd></dl></div></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><p><code class="funcdef">void <b class="fsfunc">glDisable</b>(</code>GLenum <var class="pdparam">cap</var><code>)</code>;</p></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters2"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>cap</code></em></span></dt><dd><p>
Specifies a symbolic constant indicating a GL capability.
</p></dd></dl></div></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><p><code class="funcdef">void <b class="fsfunc">glEnablei</b>(</code>GLenum <var class="pdparam">cap</var>, GLuint <var class="pdparam">index</var><code>)</code>;</p></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters3"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>cap</code></em></span></dt><dd><p>
Specifies a symbolic constant indicating a GL capability.
</p></dd><dt><span class="term"><em class="parameter"><code>index</code></em></span></dt><dd><p>
Specifies the index of the swtich to enable.
</p></dd></dl></div></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><p><code class="funcdef">void <b class="fsfunc">glDisablei</b>(</code>GLenum <var class="pdparam">cap</var>, GLuint <var class="pdparam">index</var><code>)</code>;</p></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters4"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>cap</code></em></span></dt><dd><p>
Specifies a symbolic constant indicating a GL capability.
</p></dd><dt><span class="term"><em class="parameter"><code>index</code></em></span></dt><dd><p>
Specifies the index of the swtich to disable.
</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
<code class="function">glEnable</code> and <a href="glDisable"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a> enable and disable various capabilities.
Use <a href="glIsEnabled"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> or <a href="glGet"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> to determine the current setting
of any capability. The initial value for each capability with the
exception of <code class="constant">GL_DITHER</code> and <code class="constant">GL_MULTISAMPLE</code> is
<code class="constant">GL_FALSE</code>. The initial value for
<code class="constant">GL_DITHER</code> and <code class="constant">GL_MULTISAMPLE</code> is <code class="constant">GL_TRUE</code>.
</p><p>
Both <code class="function">glEnable</code> and <a href="glDisable"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a> take a single argument, <em class="parameter"><code>cap</code></em>,
which can assume one of the following values:
</p><p>
Some of the GL's capabilities are indicated. <code class="function">glEnablei</code> and <code class="function">glDisablei</code> enable and disable
indexed capabilities.
</p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GL_BLEND</code></span></dt><dd><p>
</p><p>
If enabled,
blend the computed fragment color values with the values in the color
buffers. See <a href="glBlendFunc"><span class="citerefentry"><span class="refentrytitle">glBlendFunc</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_CLIP_DISTANCE</code><span class="emphasis"><em>i</em></span></span></dt><dd><p>
</p><p>
If enabled, clip geometry against user-defined half space <span class="emphasis"><em>i</em></span>.
</p></dd><dt><span class="term"><code class="constant">GL_COLOR_LOGIC_OP</code></span></dt><dd><p>
</p><p>
If enabled,
apply the currently selected logical operation to the computed fragment
color and color buffer values. See <a href="glLogicOp"><span class="citerefentry"><span class="refentrytitle">glLogicOp</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_CULL_FACE</code></span></dt><dd><p>
</p><p>
If enabled,
cull polygons based on their winding in window coordinates.
See <a href="glCullFace"><span class="citerefentry"><span class="refentrytitle">glCullFace</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_DEPTH_CLAMP</code></span></dt><dd><p>
</p><p>
If enabled,
the
<math overflow="scroll">
<mo>-</mo><msub><mi>w</mi><mi>c</mi></msub><mo>≤</mo><msub><mi>z</mi><mi>c</mi></msub><mo>≤</mo><msub><mi>w</mi><mi>c</mi></msub>
</math>
plane equation is ignored by view volume clipping (effectively, there is no near or
far plane clipping).
See <a href="glDepthRange"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_DEPTH_TEST</code></span></dt><dd><p>
</p><p>
If enabled,
do depth comparisons and update the depth buffer. Note that even if
the depth buffer exists and the depth mask is non-zero, the
depth buffer is not updated if the depth test is disabled. See
<a href="glDepthFunc"><span class="citerefentry"><span class="refentrytitle">glDepthFunc</span></span></a> and
<a href="glDepthRange"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_DITHER</code> </span></dt><dd><p>
</p><p>
If enabled,
dither color components or indices before they are written to the
color buffer.
</p></dd><dt><span class="term"><code class="constant">GL_FRAMEBUFFER_SRGB</code> </span></dt><dd><p>
</p><p>
If enabled
and the value of <code class="constant">GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING</code> for the
framebuffer attachment corresponding to the destination buffer is <code class="constant">GL_SRGB</code>,
the R, G, and B destination color values (after conversion from fixed-point to floating-point)
are considered to be encoded for the sRGB color space and hence are linearized prior to
their use in blending.
</p></dd><dt><span class="term"><code class="constant">GL_LINE_SMOOTH</code></span></dt><dd><p>
</p><p>
If enabled,
draw lines with correct filtering.
Otherwise,
draw aliased lines.
See <a href="glLineWidth"><span class="citerefentry"><span class="refentrytitle">glLineWidth</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_MULTISAMPLE</code></span></dt><dd><p>
</p><p>
If enabled,
use multiple fragment samples in computing the final color of a pixel.
See <a href="glSampleCoverage"><span class="citerefentry"><span class="refentrytitle">glSampleCoverage</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_POLYGON_OFFSET_FILL</code></span></dt><dd><p>
</p><p>
If enabled, and if the polygon is rendered in
<code class="constant">GL_FILL</code> mode, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed.
See <a href="glPolygonOffset"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_POLYGON_OFFSET_LINE</code></span></dt><dd><p>
</p><p>
If enabled, and if the polygon is rendered in
<code class="constant">GL_LINE</code> mode, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed.
See <a href="glPolygonOffset"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_POLYGON_OFFSET_POINT</code></span></dt><dd><p>
</p><p>
If enabled, an offset is added to depth values of a polygon's fragments
before the depth comparison is performed, if the polygon is rendered in
<code class="constant">GL_POINT</code> mode. See <a href="glPolygonOffset"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_POLYGON_SMOOTH</code></span></dt><dd><p>
</p><p>
If enabled, draw polygons with proper filtering.
Otherwise, draw aliased polygons. For correct antialiased polygons,
an alpha buffer is needed and the polygons must be sorted front to
back.
</p></dd><dt><span class="term"><code class="constant">GL_PRIMITIVE_RESTART</code></span></dt><dd><p>
</p><p>
Enables primitive restarting. If enabled, any one of the draw commands
which transfers a set of generic attribute array elements to the GL will restart
the primitive when the index of the vertex is equal to the primitive restart index.
See <a href="glPrimitiveRestartIndex"><span class="citerefentry"><span class="refentrytitle">glPrimitiveRestartIndex</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_ALPHA_TO_COVERAGE</code></span></dt><dd><p>
</p><p>
If enabled,
compute a temporary coverage value where each bit is determined by the
alpha value at the corresponding sample location. The temporary coverage
value is then ANDed with the fragment coverage value.
</p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_ALPHA_TO_ONE</code></span></dt><dd><p>
</p><p>
If enabled,
each sample alpha value is replaced by the maximum representable alpha value.
</p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_COVERAGE</code></span></dt><dd><p>
</p><p>
If enabled,
the fragment's coverage is ANDed with the temporary coverage value. If
<code class="constant">GL_SAMPLE_COVERAGE_INVERT</code> is set to <code class="constant">GL_TRUE</code>, invert the coverage
value.
See <a href="glSampleCoverage"><span class="citerefentry"><span class="refentrytitle">glSampleCoverage</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_SCISSOR_TEST</code></span></dt><dd><p>
</p><p>
If enabled,
discard fragments that are outside the scissor rectangle.
See <a href="glScissor"><span class="citerefentry"><span class="refentrytitle">glScissor</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_STENCIL_TEST</code></span></dt><dd><p>
</p><p>
If enabled,
do stencil testing and update the stencil buffer.
See <a href="glStencilFunc"><span class="citerefentry"><span class="refentrytitle">glStencilFunc</span></span></a> and <a href="glStencilOp"><span class="citerefentry"><span class="refentrytitle">glStencilOp</span></span></a>.
</p></dd><dt><span class="term"><code class="constant">GL_TEXTURE_CUBE_MAP_SEAMLESS</code></span></dt><dd><p>
</p><p>
If enabled, modifies the way sampling is performed on cube map textures. See the spec for more information.
</p></dd><dt><span class="term"><code class="constant">GL_PROGRAM_POINT_SIZE</code></span></dt><dd><p>
</p><p>
If enabled
and a vertex or geometry shader is active, then the derived point size is taken from the (potentially clipped) shader builtin
<code class="constant">gl_PointSize</code> and clamped to the implementation-dependent point size range.
</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
<code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>cap</code></em> is not one of the values
listed previously.
</p><p>
<code class="constant">GL_INVALID_VALUE</code> is generated by <code class="function">glEnablei</code> and <code class="function">glDisablei</code>
if <em class="parameter"><code>index</code></em> is greater than or equal to the number of indexed capabilities for <em class="parameter"><code>cap</code></em>.
</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
<code class="constant">GL_PRIMITIVE_RESTART</code> is available only if the GL version is 3.1 or greater.
</p><p>
<code class="constant">GL_TEXTURE_CUBE_MAP_SEAMLESS</code> is available only if the GL version is 3.2 or greater.
</p><p>
Any token accepted by <code class="function">glEnable</code> or <code class="function">glDisable</code> is also accepted by
<code class="function">glEnablei</code> and <code class="function">glDisablei</code>, but if the capability is not indexed,
the maximum value that <em class="parameter"><code>index</code></em> may take is zero.
</p><p>
In general, passing an indexed capability to <code class="function">glEnable</code> or <code class="function">glDisable</code>
will enable or disable that capability for all indices, resepectively.
</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
<a href="glIsEnabled"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a>
</p><p>
<a href="glGet"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>
</p></div>
{$pipelinestall}{$examples}
<div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
<a href="glActiveTexture"><span class="citerefentry"><span class="refentrytitle">glActiveTexture</span></span></a>,
<a href="glBlendFunc"><span class="citerefentry"><span class="refentrytitle">glBlendFunc</span></span></a>,
<a href="glCullFace"><span class="citerefentry"><span class="refentrytitle">glCullFace</span></span></a>,
<a href="glDepthFunc"><span class="citerefentry"><span class="refentrytitle">glDepthFunc</span></span></a>,
<a href="glDepthRange"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>,
<a href="glGet"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>,
<a href="glIsEnabled"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a>,
<a href="glLineWidth"><span class="citerefentry"><span class="refentrytitle">glLineWidth</span></span></a>,
<a href="glLogicOp"><span class="citerefentry"><span class="refentrytitle">glLogicOp</span></span></a>,
<a href="glPointSize"><span class="citerefentry"><span class="refentrytitle">glPointSize</span></span></a>,
<a href="glPolygonMode"><span class="citerefentry"><span class="refentrytitle">glPolygonMode</span></span></a>,
<a href="glPolygonOffset"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>,
<a href="glSampleCoverage"><span class="citerefentry"><span class="refentrytitle">glSampleCoverage</span></span></a>,
<a href="glScissor"><span class="citerefentry"><span class="refentrytitle">glScissor</span></span></a>,
<a href="glStencilFunc"><span class="citerefentry"><span class="refentrytitle">glStencilFunc</span></span></a>,
<a href="glStencilOp"><span class="citerefentry"><span class="refentrytitle">glStencilOp</span></span></a>,
<a href="glTexImage1D"><span class="citerefentry"><span class="refentrytitle">glTexImage1D</span></span></a>,
<a href="glTexImage2D"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a>,
<a href="glTexImage3D"><span class="citerefentry"><span class="refentrytitle">glTexImage3D</span></span></a>
</p></div><div class="refsect1" lang="en" xml:lang="en"><div id="Copyright"><h2>Copyright</h2><p>
Copyright © 1991-2006
Silicon Graphics, Inc. Copyright © 2010 Khronos Group.
This document is licensed under the SGI
Free Software B License. For details, see
<a href="https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/" target="_top">https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/</a>.
</p></div></div></div>