include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / man2 / glEnableClientState.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glEnableClientState">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glEnableClientState</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glEnableClientState</refname>
17 <refpurpose>enable or disable client-side capability</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glEnableClientState</function></funcdef>
23 <paramdef>GLenum <parameter>cap</parameter></paramdef>
24 </funcprototype>
25 </funcsynopsis>
26 </refsynopsisdiv>
27 <!-- eqn: ignoring delim $$ -->
28 <refsect1 id="parameters"><title>Parameters</title>
29 <variablelist>
30 <varlistentry>
31 <term><parameter>cap</parameter></term>
32 <listitem>
33 <para>
34 Specifies the capability to enable.
35 Symbolic constants
36 <constant>GL_COLOR_ARRAY</constant>,
37 <constant>GL_EDGE_FLAG_ARRAY</constant>,
38 <constant>GL_FOG_COORD_ARRAY</constant>,
39 <constant>GL_INDEX_ARRAY</constant>,
40 <constant>GL_NORMAL_ARRAY</constant>,
41 <constant>GL_SECONDARY_COLOR_ARRAY</constant>,
42 <constant>GL_TEXTURE_COORD_ARRAY</constant>, and
43 <constant>GL_VERTEX_ARRAY</constant>
44 are accepted.
45 </para>
46 </listitem>
47 </varlistentry>
48 </variablelist>
49 </refsect1>
50 <refsynopsisdiv><title>C Specification</title>
51 <funcsynopsis>
52 <funcprototype>
53 <funcdef>void <function>glDisableClientState</function></funcdef>
54 <paramdef>GLenum <parameter>cap</parameter></paramdef>
55 </funcprototype>
56 </funcsynopsis>
57 </refsynopsisdiv>
58 <refsect1 id="parameters2"><title>Parameters</title>
59 <variablelist>
60 <varlistentry>
61 <term><parameter>cap</parameter></term>
62 <listitem>
63 <para>
64 Specifies the capability to disable.
65 </para>
66 </listitem>
67 </varlistentry>
68 </variablelist>
69 </refsect1>
70 <refsect1 id="description"><title>Description</title>
71 <para>
72 <function>glEnableClientState</function> and <citerefentry><refentrytitle>glDisableClientState</refentrytitle></citerefentry>
73 enable or disable individual client-side capabilities. By default, all
74 client-side capabilities are disabled.
75 Both
76 <function>glEnableClientState</function> and <citerefentry><refentrytitle>glDisableClientState</refentrytitle></citerefentry> take a
77 single argument, <parameter>cap</parameter>, which can assume one of the following
78 values:
79 </para>
80 <variablelist>
81 <varlistentry>
82 <term><constant>GL_COLOR_ARRAY</constant></term>
83 <listitem>
84 <para>
85 If enabled, the color array is enabled for writing and used during
86 rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
87 <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
88 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>.
89 </para>
90 </listitem>
91 </varlistentry>
92 <varlistentry>
93 <term><constant>GL_EDGE_FLAG_ARRAY</constant></term>
94 <listitem>
95 <para>
96 If enabled, the edge flag array is enabled for writing and used during
97 rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
98 <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
99 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>.
100 </para>
101 </listitem>
102 </varlistentry>
103 <varlistentry>
104 <term><constant>GL_FOG_COORD_ARRAY</constant></term>
105 <listitem>
106 <para>
107 If enabled, the fog coordinate array is enabled for writing and used during
108 rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
109 <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
110 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glFogCoordPointer</refentrytitle></citerefentry>.
111 </para>
112 </listitem>
113 </varlistentry>
114 <varlistentry>
115 <term><constant>GL_INDEX_ARRAY</constant></term>
116 <listitem>
117 <para>
118 If enabled, the index array is enabled for writing and used during
119 rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
120 <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
121 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glIndexPointer</refentrytitle></citerefentry>.
122 </para>
123 </listitem>
124 </varlistentry>
125 <varlistentry>
126 <term><constant>GL_NORMAL_ARRAY</constant></term>
127 <listitem>
128 <para>
129 If enabled, the normal array is enabled for writing and used during
130 rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
131 <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
132 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>.
133 </para>
134 </listitem>
135 </varlistentry>
136 <varlistentry>
137 <term><constant>GL_SECONDARY_COLOR_ARRAY</constant></term>
138 <listitem>
139 <para>
140 If enabled, the secondary color array is enabled for writing and used
141 during rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
142 <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
143 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>.
144 </para>
145 </listitem>
146 </varlistentry>
147 <varlistentry>
148 <term><constant>GL_TEXTURE_COORD_ARRAY</constant></term>
149 <listitem>
150 <para>
151 If enabled, the texture coordinate array is enabled for writing and used
152 during rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
153 <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
154 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glTexCoordPointer</refentrytitle></citerefentry>.
155 </para>
156 </listitem>
157 </varlistentry>
158 <varlistentry>
159 <term><constant>GL_VERTEX_ARRAY</constant></term>
160 <listitem>
161 <para>
162 If enabled, the vertex array is enabled for writing and used during
163 rendering when <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
164 <citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry> <citerefentry><refentrytitle>glMultiDrawArrays</refentrytitle></citerefentry>, or
165 <citerefentry><refentrytitle>glMultiDrawElements</refentrytitle></citerefentry> is called. See <citerefentry><refentrytitle>glVertexPointer</refentrytitle></citerefentry>.
166 </para>
167 </listitem>
168 </varlistentry>
169 </variablelist>
170 </refsect1>
171 <refsect1 id="notes"><title>Notes</title>
172 <para>
173 <function>glEnableClientState</function> is available only if the GL version is 1.1 or greater.
174 </para>
175 <para>
176 <constant>GL_FOG_COORD_ARRAY</constant> and <constant>GL_SECONDARY_COLOR_ARRAY</constant> are available only if the GL version is 1.4 or
177 greater.
178 </para>
179 <para>
180 For OpenGL versions 1.3 and greater, or when <code>ARB_multitexture</code> is supported, enabling and disabling
181 <constant>GL_TEXTURE_COORD_ARRAY</constant> affects the active client texture unit.
182 The active client texture unit is controlled with
183 <citerefentry><refentrytitle>glClientActiveTexture</refentrytitle></citerefentry>.
184 </para>
185 </refsect1>
186 <refsect1 id="errors"><title>Errors</title>
187 <para>
188 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>cap</parameter> is not an accepted value.
189 </para>
190 <para>
191 <function>glEnableClientState</function> is not allowed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the
192 corresponding <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>, but an error may or may not be generated. If
193 no error is generated, the behavior is undefined.
194 </para>
195 </refsect1>
196 <refsect1 id="seealso"><title>See Also</title>
197 <para>
198 <citerefentry><refentrytitle>glArrayElement</refentrytitle></citerefentry>,
199 <citerefentry><refentrytitle>glClientActiveTexture</refentrytitle></citerefentry>,
200 <citerefentry><refentrytitle>glColorPointer</refentrytitle></citerefentry>,
201 <citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
202 <citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
203 <citerefentry><refentrytitle>glEdgeFlagPointer</refentrytitle></citerefentry>,
204 <citerefentry><refentrytitle>glFogCoordPointer</refentrytitle></citerefentry>,
205 <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
206 <citerefentry><refentrytitle>glGetPointerv</refentrytitle></citerefentry>,
207 <citerefentry><refentrytitle>glIndexPointer</refentrytitle></citerefentry>,
208 <citerefentry><refentrytitle>glInterleavedArrays</refentrytitle></citerefentry>,
209 <citerefentry><refentrytitle>glNormalPointer</refentrytitle></citerefentry>,
210 <citerefentry><refentrytitle>glSecondaryColorPointer</refentrytitle></citerefentry>,
211 <citerefentry><refentrytitle>glTexCoordPointer</refentrytitle></citerefentry>,
212 <citerefentry><refentrytitle>glVertexPointer</refentrytitle></citerefentry>
213 </para>
214 </refsect1>
215 <refsect1 id="Copyright"><title>Copyright</title>
216 <para>
217 Copyright <trademark class="copyright"></trademark> 1991-2006
218 Silicon Graphics, Inc. This document is licensed under the SGI
219 Free Software B License. For details, see
220 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
221 </para>
222 </refsect1>
223 </refentry>