rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / xhtml / glEnable.xml
CommitLineData
7faf1d71
AW
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3<!-- saved from url=(0013)about:internet -->
4<?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" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>glEnable - OpenGL 4 Reference Pages</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /></head><body><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>
5 Specifies a symbolic constant indicating a GL capability.
6 </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>
7 Specifies a symbolic constant indicating a GL capability.
8 </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>
9 Specifies a symbolic constant indicating a GL capability.
10 </p></dd><dt><span class="term"><em class="parameter"><code>index</code></em></span></dt><dd><p>
11 Specifies the index of the swtich to enable.
12 </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>
13 Specifies a symbolic constant indicating a GL capability.
14 </p></dd><dt><span class="term"><em class="parameter"><code>index</code></em></span></dt><dd><p>
15 Specifies the index of the swtich to disable.
16 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
17 <code class="function">glEnable</code> and <a href="glDisable.xml"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a> enable and disable various capabilities.
18 Use <a href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> or <a href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> to determine the current setting
19 of any capability. The initial value for each capability with the
20 exception of <code class="constant">GL_DITHER</code> and <code class="constant">GL_MULTISAMPLE</code> is
21 <code class="constant">GL_FALSE</code>. The initial value for
22 <code class="constant">GL_DITHER</code> and <code class="constant">GL_MULTISAMPLE</code> is <code class="constant">GL_TRUE</code>.
23 </p><p>
24 Both <code class="function">glEnable</code> and <a href="glDisable.xml"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a> take a single argument, <em class="parameter"><code>cap</code></em>,
25 which can assume one of the following values:
26 </p><p>
27 Some of the GL's capabilities are indexed. <code class="function">glEnablei</code> and <code class="function">glDisablei</code> enable and disable
28 indexed capabilities.
29 </p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GL_BLEND</code></span></dt><dd><p>
30 </p><p>
31 If enabled,
32 blend the computed fragment color values with the values in the color
33 buffers. See <a href="glBlendFunc.xml"><span class="citerefentry"><span class="refentrytitle">glBlendFunc</span></span></a>.
34 </p></dd><dt><span class="term"><code class="constant">GL_CLIP_DISTANCE</code><span class="emphasis"><em>i</em></span></span></dt><dd><p>
35 </p><p>
36 If enabled, clip geometry against user-defined half space <span class="emphasis"><em>i</em></span>.
37 </p></dd><dt><span class="term"><code class="constant">GL_COLOR_LOGIC_OP</code></span></dt><dd><p>
38 </p><p>
39 If enabled,
40 apply the currently selected logical operation to the computed fragment
41 color and color buffer values. See <a href="glLogicOp.xml"><span class="citerefentry"><span class="refentrytitle">glLogicOp</span></span></a>.
42 </p></dd><dt><span class="term"><code class="constant">GL_CULL_FACE</code></span></dt><dd><p>
43 </p><p>
44 If enabled,
45 cull polygons based on their winding in window coordinates.
46 See <a href="glCullFace.xml"><span class="citerefentry"><span class="refentrytitle">glCullFace</span></span></a>.
47 </p></dd><dt><span class="term"><code class="constant">GL_DEBUG_OUTPUT</code></span></dt><dd><p>
48 </p><p>
49 If enabled, debug messages are produced by a debug context. When disabled,
50 the debug message log is silenced. Note that in a non-debug context, very
51 few, if any messages might be produced, even when <code class="constant">GL_DEBUG_OUTPUT</code>
52 is enabled.
53 </p></dd><dt><span class="term"><code class="constant">GL_DEBUG_OUTPUT_SYNCHRONOUS</code></span></dt><dd><p>
54 </p><p>
55 If enabled, debug messages are produced synchronously by a debug context. If disabled,
56 debug messages may be produced asynchronously. In particular, they may be delayed relative
57 to the execution of GL commands, and the debug callback function may be called from
58 a thread other than that in which the commands are executed.
59 See <a href="glDebugMessageCallback.xml"><span class="citerefentry"><span class="refentrytitle">glDebugMessageCallback</span></span></a>.
60 </p></dd><dt><span class="term"><code class="constant">GL_DEPTH_CLAMP</code></span></dt><dd><p>
61 </p><p>
62 If enabled,
63 the
64
65 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
66 <mml:mo>-</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>≤</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>≤</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>c</mml:mi></mml:msub>
67 </mml:math>
68 plane equation is ignored by view volume clipping (effectively, there is no near or
69 far plane clipping).
70 See <a href="glDepthRange.xml"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>.
71 </p></dd><dt><span class="term"><code class="constant">GL_DEPTH_TEST</code></span></dt><dd><p>
72 </p><p>
73 If enabled,
74 do depth comparisons and update the depth buffer. Note that even if
75 the depth buffer exists and the depth mask is non-zero, the
76 depth buffer is not updated if the depth test is disabled. See
77 <a href="glDepthFunc.xml"><span class="citerefentry"><span class="refentrytitle">glDepthFunc</span></span></a> and
78 <a href="glDepthRange.xml"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>.
79 </p></dd><dt><span class="term"><code class="constant">GL_DITHER</code> </span></dt><dd><p>
80 </p><p>
81 If enabled,
82 dither color components or indices before they are written to the
83 color buffer.
84 </p></dd><dt><span class="term"><code class="constant">GL_FRAMEBUFFER_SRGB</code> </span></dt><dd><p>
85 </p><p>
86 If enabled
87 and the value of <code class="constant">GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING</code> for the
88 framebuffer attachment corresponding to the destination buffer is <code class="constant">GL_SRGB</code>,
89 the R, G, and B destination color values (after conversion from fixed-point to floating-point)
90 are considered to be encoded for the sRGB color space and hence are linearized prior to
91 their use in blending.
92 </p></dd><dt><span class="term"><code class="constant">GL_LINE_SMOOTH</code></span></dt><dd><p>
93 </p><p>
94 If enabled,
95 draw lines with correct filtering.
96 Otherwise,
97 draw aliased lines.
98 See <a href="glLineWidth.xml"><span class="citerefentry"><span class="refentrytitle">glLineWidth</span></span></a>.
99 </p></dd><dt><span class="term"><code class="constant">GL_MULTISAMPLE</code></span></dt><dd><p>
100 </p><p>
101 If enabled,
102 use multiple fragment samples in computing the final color of a pixel.
103 See <a href="glSampleCoverage.xml"><span class="citerefentry"><span class="refentrytitle">glSampleCoverage</span></span></a>.
104 </p></dd><dt><span class="term"><code class="constant">GL_POLYGON_OFFSET_FILL</code></span></dt><dd><p>
105 </p><p>
106 If enabled, and if the polygon is rendered in
107 <code class="constant">GL_FILL</code> mode, an offset is added to depth values of a polygon's
108 fragments before the depth comparison is performed.
109 See <a href="glPolygonOffset.xml"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>.
110 </p></dd><dt><span class="term"><code class="constant">GL_POLYGON_OFFSET_LINE</code></span></dt><dd><p>
111 </p><p>
112 If enabled, and if the polygon is rendered in
113 <code class="constant">GL_LINE</code> mode, an offset is added to depth values of a polygon's
114 fragments before the depth comparison is performed.
115 See <a href="glPolygonOffset.xml"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>.
116 </p></dd><dt><span class="term"><code class="constant">GL_POLYGON_OFFSET_POINT</code></span></dt><dd><p>
117 </p><p>
118 If enabled, an offset is added to depth values of a polygon's fragments
119 before the depth comparison is performed, if the polygon is rendered in
120 <code class="constant">GL_POINT</code> mode. See <a href="glPolygonOffset.xml"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>.
121 </p></dd><dt><span class="term"><code class="constant">GL_POLYGON_SMOOTH</code></span></dt><dd><p>
122 </p><p>
123 If enabled, draw polygons with proper filtering.
124 Otherwise, draw aliased polygons. For correct antialiased polygons,
125 an alpha buffer is needed and the polygons must be sorted front to
126 back.
127 </p></dd><dt><span class="term"><code class="constant">GL_PRIMITIVE_RESTART</code></span></dt><dd><p>
128 </p><p>
129 Enables primitive restarting. If enabled, any one of the draw commands
130 which transfers a set of generic attribute array elements to the GL will restart
131 the primitive when the index of the vertex is equal to the primitive restart index.
132 See <a href="glPrimitiveRestartIndex.xml"><span class="citerefentry"><span class="refentrytitle">glPrimitiveRestartIndex</span></span></a>.
133 </p></dd><dt><span class="term"><code class="constant">GL_PRIMITIVE_RESTART_FIXED_INDEX</code></span></dt><dd><p>
134 </p><p>
135 Enables primitive restarting with a fixed index. If enabled, any one of the
136 draw commands which transfers a set of generic attribute array elements to the GL will
137 restart the primitive when the index of the vertex is equal to the fixed primitive
138 index for the specified index type. The fixed index is equal to
139 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:msup><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:msup><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:math>
140 where <span class="emphasis"><em>n</em></span> is equal to 8 for <code class="constant">GL_UNSIGNED_BYTE</code>,
141 16 for <code class="constant">GL_UNSIGNED_SHORT</code> and 32 for <code class="constant">GL_UNSIGNED_INT</code>.
142 </p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_ALPHA_TO_COVERAGE</code></span></dt><dd><p>
143 </p><p>
144 If enabled,
145 compute a temporary coverage value where each bit is determined by the
146 alpha value at the corresponding sample location. The temporary coverage
147 value is then ANDed with the fragment coverage value.
148 </p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_ALPHA_TO_ONE</code></span></dt><dd><p>
149 </p><p>
150 If enabled,
151 each sample alpha value is replaced by the maximum representable alpha value.
152 </p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_COVERAGE</code></span></dt><dd><p>
153 </p><p>
154 If enabled,
155 the fragment's coverage is ANDed with the temporary coverage value. If
156 <code class="constant">GL_SAMPLE_COVERAGE_INVERT</code> is set to <code class="constant">GL_TRUE</code>, invert the coverage
157 value.
158 See <a href="glSampleCoverage.xml"><span class="citerefentry"><span class="refentrytitle">glSampleCoverage</span></span></a>.
159 </p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_SHADING</code></span></dt><dd><p>
160 </p><p>
161 If enabled, the active fragment shader is run once for each covered sample, or at
162 fraction of this rate as determined by the current value of <code class="constant">GL_MIN_SAMPLE_SHADING_VALUE</code>.
163 See <a href="glMinSampleShading.xml"><span class="citerefentry"><span class="refentrytitle">glMinSampleShading</span></span></a>.
164 </p></dd><dt><span class="term"><code class="constant">GL_SAMPLE_MASK</code></span></dt><dd><p>
165 </p><p>
166 If enabled, the sample coverage mask generated for a fragment during rasterization
167 will be ANDed with the value of <code class="constant">GL_SAMPLE_MASK_VALUE</code> before
168 shading occurs.
169 See <a href="glSampleMaski.xml"><span class="citerefentry"><span class="refentrytitle">glSampleMaski</span></span></a>.
170 </p></dd><dt><span class="term"><code class="constant">GL_SCISSOR_TEST</code></span></dt><dd><p>
171 </p><p>
172 If enabled,
173 discard fragments that are outside the scissor rectangle.
174 See <a href="glScissor.xml"><span class="citerefentry"><span class="refentrytitle">glScissor</span></span></a>.
175 </p></dd><dt><span class="term"><code class="constant">GL_STENCIL_TEST</code></span></dt><dd><p>
176 </p><p>
177 If enabled,
178 do stencil testing and update the stencil buffer.
179 See <a href="glStencilFunc.xml"><span class="citerefentry"><span class="refentrytitle">glStencilFunc</span></span></a> and <a href="glStencilOp.xml"><span class="citerefentry"><span class="refentrytitle">glStencilOp</span></span></a>.
180 </p></dd><dt><span class="term"><code class="constant">GL_TEXTURE_CUBE_MAP_SEAMLESS</code></span></dt><dd><p>
181 </p><p>
182 If enabled, cubemap textures are sampled such that when linearly sampling from the border
183 between two adjacent faces, texels from both faces are used to generate the final sample
184 value. When disabled, texels from only a single face are used to construct the final
185 sample value.
186 </p></dd><dt><span class="term"><code class="constant">GL_PROGRAM_POINT_SIZE</code></span></dt><dd><p>
187 </p><p>
188 If enabled
189 and a vertex or geometry shader is active, then the derived point size is taken from the (potentially clipped) shader builtin
190 <code class="constant">gl_PointSize</code> and clamped to the implementation-dependent point size range.
191 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
192 <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>cap</code></em> is not one of the values
193 listed previously.
194 </p><p>
195 <code class="constant">GL_INVALID_VALUE</code> is generated by <code class="function">glEnablei</code> and <code class="function">glDisablei</code>
196 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>.
197 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
198 <code class="constant">GL_PRIMITIVE_RESTART</code> is available only if the GL version is 3.1 or greater.
199 </p><p>
200 <code class="constant">GL_TEXTURE_CUBE_MAP_SEAMLESS</code> is available only if the GL version is 3.2 or greater.
201 </p><p>
202 <code class="constant">GL_PRIMITIVE_RESTART_FIXED_INDEX</code> is available only if the GL version is 4.3 or greater.
203 </p><p>
204 <code class="constant">GL_DEBUG_OUTPUT</code> and <code class="constant">GL_DEBUG_OUTPUT_SYNCHRONOUS</code> are available only if the GL version is 4.3 or greater.
205 </p><p>
206 Any token accepted by <code class="function">glEnable</code> or <code class="function">glDisable</code> is also accepted by
207 <code class="function">glEnablei</code> and <code class="function">glDisablei</code>, but if the capability is not indexed,
208 the maximum value that <em class="parameter"><code>index</code></em> may take is zero.
209 </p><p>
210 In general, passing an indexed capability to <code class="function">glEnable</code> or <code class="function">glDisable</code>
211 will enable or disable that capability for all indices, resepectively.
212 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
213 <a href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a>
214 </p><p>
215 <a href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>
216 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
217 <a href="glActiveTexture.xml"><span class="citerefentry"><span class="refentrytitle">glActiveTexture</span></span></a>,
218 <a href="glBlendFunc.xml"><span class="citerefentry"><span class="refentrytitle">glBlendFunc</span></span></a>,
219 <a href="glCullFace.xml"><span class="citerefentry"><span class="refentrytitle">glCullFace</span></span></a>,
220 <a href="glDepthFunc.xml"><span class="citerefentry"><span class="refentrytitle">glDepthFunc</span></span></a>,
221 <a href="glDepthRange.xml"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>,
222 <a href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>,
223 <a href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a>,
224 <a href="glLineWidth.xml"><span class="citerefentry"><span class="refentrytitle">glLineWidth</span></span></a>,
225 <a href="glLogicOp.xml"><span class="citerefentry"><span class="refentrytitle">glLogicOp</span></span></a>,
226 <a href="glPointSize.xml"><span class="citerefentry"><span class="refentrytitle">glPointSize</span></span></a>,
227 <a href="glPolygonMode.xml"><span class="citerefentry"><span class="refentrytitle">glPolygonMode</span></span></a>,
228 <a href="glPolygonOffset.xml"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>,
229 <a href="glSampleCoverage.xml"><span class="citerefentry"><span class="refentrytitle">glSampleCoverage</span></span></a>,
230 <a href="glScissor.xml"><span class="citerefentry"><span class="refentrytitle">glScissor</span></span></a>,
231 <a href="glStencilFunc.xml"><span class="citerefentry"><span class="refentrytitle">glStencilFunc</span></span></a>,
232 <a href="glStencilOp.xml"><span class="citerefentry"><span class="refentrytitle">glStencilOp</span></span></a>,
233 <a href="glTexImage1D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage1D</span></span></a>,
234 <a href="glTexImage2D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a>,
235 <a href="glTexImage3D.xml"><span class="citerefentry"><span class="refentrytitle">glTexImage3D</span></span></a>
236 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
237 Copyright <span class="trademark"></span>© 1991-2006
238 Silicon Graphics, Inc. Copyright <span class="trademark"></span>© 2010-2011 Khronos Group.
239 This document is licensed under the SGI
240 Free Software B License. For details, see
241 <a href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
242 </p></div></div></body></html>