-
Notifications
You must be signed in to change notification settings - Fork 94
/
glColorMaterial.xhtml
77 lines (77 loc) · 8.46 KB
/
glColorMaterial.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
<div class="refentry" lang="en" xml:lang="en"><a id="glColorMaterial"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glColorMaterial — cause a material color to track the current color</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table><tr><td><code class="funcdef">void <b class="fsfunc">glColorMaterial</b>(</code></td><td>GLenum </td><td><var class="pdparam">face</var>, </td></tr><tr><td> </td><td>GLenum </td><td><var class="pdparam">mode</var><code>)</code>;</td></tr></table></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>face</code></em></span></dt><dd><p>
Specifies whether front,
back,
or both front and back material parameters should track the current color.
Accepted values are
<code class="constant">GL_FRONT</code>,
<code class="constant">GL_BACK</code>,
and <code class="constant">GL_FRONT_AND_BACK</code>.
The initial value is <code class="constant">GL_FRONT_AND_BACK</code>.
</p></dd><dt><span class="term"><em class="parameter"><code>mode</code></em></span></dt><dd><p>
Specifies which of several material parameters track the current color.
Accepted values are
<code class="constant">GL_EMISSION</code>,
<code class="constant">GL_AMBIENT</code>,
<code class="constant">GL_DIFFUSE</code>,
<code class="constant">GL_SPECULAR</code>,
and <code class="constant">GL_AMBIENT_AND_DIFFUSE</code>.
The initial value is <code class="constant">GL_AMBIENT_AND_DIFFUSE</code>.
</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
<code class="function">glColorMaterial</code> specifies which material parameters track the current color.
When <code class="constant">GL_COLOR_MATERIAL</code> is enabled,
the material parameter or parameters specified by <em class="parameter"><code>mode</code></em>,
of the material or materials specified by <em class="parameter"><code>face</code></em>,
track the current color at all times.
</p><p>
To enable and disable <code class="constant">GL_COLOR_MATERIAL</code>, call
<a class="citerefentry" href="glEnable"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a> and <a class="citerefentry" href="glDisable"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a> with argument <code class="constant">GL_COLOR_MATERIAL</code>.
<code class="constant">GL_COLOR_MATERIAL</code> is initially disabled.
</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
<code class="function">glColorMaterial</code> makes it possible to change a subset of material parameters for each
vertex using only the <a class="citerefentry" href="glColor"><span class="citerefentry"><span class="refentrytitle">glColor</span></span></a> command,
without calling <a class="citerefentry" href="glMaterial"><span class="citerefentry"><span class="refentrytitle">glMaterial</span></span></a>.
If only such a subset of parameters is to be specified for each
vertex, calling <code class="function">glColorMaterial</code> is preferable to calling <a class="citerefentry" href="glMaterial"><span class="citerefentry"><span class="refentrytitle">glMaterial</span></span></a>.
</p><p>
Call <code class="function">glColorMaterial</code> before enabling <code class="constant">GL_COLOR_MATERIAL</code>.
</p><p>
Calling <a class="citerefentry" href="glDrawElements"><span class="citerefentry"><span class="refentrytitle">glDrawElements</span></span></a>, <a class="citerefentry" href="glDrawArrays"><span class="citerefentry"><span class="refentrytitle">glDrawArrays</span></span></a>, or <a class="citerefentry" href="glDrawRangeElements"><span class="citerefentry"><span class="refentrytitle">glDrawRangeElements</span></span></a>
may leave the current color indeterminate, if the color array is enabled.
If
<code class="function">glColorMaterial</code> is enabled while the current color is indeterminate, the
lighting material state specified by <em class="parameter"><code>face</code></em> and <em class="parameter"><code>mode</code></em> is also indeterminate.
</p><p>
If the GL version is 1.1 or greater, and <code class="constant">GL_COLOR_MATERIAL</code> is
enabled, evaluated color values affect the results of the lighting
equation as if the current color were being modified, but no change is
made to the tracking lighting parameter of the current color.
</p></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>face</code></em> or <em class="parameter"><code>mode</code></em> is not an
accepted value.
</p><p>
<code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glColorMaterial</code> is executed between
the execution of <a class="citerefentry" href="glBegin"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a> and the corresponding execution of <a class="citerefentry" href="glEnd"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.
</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
<a class="citerefentry" href="glIsEnabled"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_COLOR_MATERIAL</code>
</p><p>
<a class="citerefentry" href="glGet"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_COLOR_MATERIAL_PARAMETER</code>
</p><p>
<a class="citerefentry" href="glGet"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_COLOR_MATERIAL_FACE</code>
</p></div>
{$pipelinestall}{$examples}
<div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
<a class="citerefentry" href="glColor"><span class="citerefentry"><span class="refentrytitle">glColor</span></span></a>,
<a class="citerefentry" href="glColorPointer"><span class="citerefentry"><span class="refentrytitle">glColorPointer</span></span></a>,
<a class="citerefentry" href="glDrawArrays"><span class="citerefentry"><span class="refentrytitle">glDrawArrays</span></span></a>,
<a class="citerefentry" href="glDrawElements"><span class="citerefentry"><span class="refentrytitle">glDrawElements</span></span></a>,
<a class="citerefentry" href="glDrawRangeElements"><span class="citerefentry"><span class="refentrytitle">glDrawRangeElements</span></span></a>,
<a class="citerefentry" href="glEnable"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>,
<a class="citerefentry" href="glLight"><span class="citerefentry"><span class="refentrytitle">glLight</span></span></a>,
<a class="citerefentry" href="glLightModel"><span class="citerefentry"><span class="refentrytitle">glLightModel</span></span></a>,
<a class="citerefentry" href="glMaterial"><span class="citerefentry"><span class="refentrytitle">glMaterial</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. This document is licensed under the SGI
Free Software B License. For details, see
<a class="ulink" 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>