<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?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" /><title>glCompileShader</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glCompileShader"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glCompileShader — Compiles a shader object</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">glCompileShader</b>(</code></td><td>GLuint  </td><td><var class="pdparam">shader</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>shader</code></em></span></dt><dd><p>Specifies the shader object to be
		    compiled.</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p><code class="function">glCompileShader</code> compiles the source
	code strings that have been stored in the shader object
	specified by <em class="parameter"><code>shader</code></em>.</p><p>The compilation status will be stored as part of the
	shader object's state. This value will be set to
	<code class="constant">GL_TRUE</code> if the shader was compiled without
	errors and is ready for use, and <code class="constant">GL_FALSE</code>
	otherwise. It can be queried by calling
	<a class="citerefentry" href="glGetShader.xml"><span class="citerefentry"><span class="refentrytitle">glGetShader</span></span></a>
	with arguments <em class="parameter"><code>shader</code></em> and
	<code class="constant">GL_COMPILE_STATUS</code>.</p><p>Compilation of a shader can fail for a number of reasons
	as specified by the OpenGL Shading Language Specification.
	Whether or not the compilation was successful, information about
	the compilation can be obtained from the shader object's
	information log by calling
	<a class="citerefentry" href="glGetShaderInfoLog.xml"><span class="citerefentry"><span class="refentrytitle">glGetShaderInfoLog</span></span></a>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p><code class="function">glCompileShader</code>
	is available only if the GL version is 2.0 or greater.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p><code class="constant">GL_INVALID_VALUE</code> is generated if
	<em class="parameter"><code>shader</code></em> is not a value generated by
	OpenGL.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
	<em class="parameter"><code>shader</code></em> is not a shader object.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
	<code class="function">glCompileShader</code> is executed between the
	execution of
	<a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>
	and the corresponding execution of
	<a class="citerefentry" href="glEnd.xml"><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="glGetShaderInfoLog.xml"><span class="citerefentry"><span class="refentrytitle">glGetShaderInfoLog</span></span></a>
	with argument <em class="parameter"><code>shader</code></em></p><p><a class="citerefentry" href="glGetShader.xml"><span class="citerefentry"><span class="refentrytitle">glGetShader</span></span></a>
	with arguments <em class="parameter"><code>shader</code></em> and
	<code class="constant">GL_COMPILE_STATUS</code></p><p><a class="citerefentry" href="glIsShader.xml"><span class="citerefentry"><span class="refentrytitle">glIsShader</span></span></a></p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p><a class="citerefentry" href="glCreateShader.xml"><span class="citerefentry"><span class="refentrytitle">glCreateShader</span></span></a>,
	<a class="citerefentry" href="glLinkProgram.xml"><span class="citerefentry"><span class="refentrytitle">glLinkProgram</span></span></a>,
	<a class="citerefentry" href="glShaderSource.xml"><span class="citerefentry"><span class="refentrytitle">glShaderSource</span></span></a></p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
            Copyright <span class="trademark"></span>© 2003-2005 3Dlabs Inc. Ltd. 
            This material may be distributed subject to the terms and conditions set forth in 
            the Open Publication License, v 1.0, 8 June 1999.
            <a class="ulink" href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
        </p></div></div></body></html>
