2013-10-10 23:58:54 +00:00
<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id= "glGetActiveSubroutineName" >
<refmeta >
<refmetainfo >
<copyright >
<year > 2010</year>
<holder > Khronos Group.</holder>
</copyright>
</refmetainfo>
<refentrytitle > glGetActiveSubroutineName</refentrytitle>
<manvolnum > 3G</manvolnum>
</refmeta>
<refnamediv >
<refname > glGetActiveSubroutineName</refname>
<refpurpose > query the name of an active shader subroutine</refpurpose>
</refnamediv>
<refsynopsisdiv > <title > C Specification</title>
<funcsynopsis >
<funcprototype >
<funcdef > void <function > glGetActiveSubroutineName</function> </funcdef>
<paramdef > GLuint <parameter > program</parameter> </paramdef>
<paramdef > GLenum <parameter > shadertype</parameter> </paramdef>
<paramdef > GLuint <parameter > index</parameter> </paramdef>
<paramdef > GLsizei <parameter > bufsize</parameter> </paramdef>
<paramdef > GLsizei *<parameter > length</parameter> </paramdef>
<paramdef > GLchar *<parameter > name</parameter> </paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id= "parameters" > <title > Parameters</title>
<variablelist >
<varlistentry >
<term > <parameter > program</parameter> </term>
<listitem >
<para >
Specifies the name of the program containing the subroutine.
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > shadertype</parameter> </term>
<listitem >
<para >
Specifies the shader stage from which to query the subroutine name.
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > index</parameter> </term>
<listitem >
<para >
Specifies the index of the shader subroutine uniform.
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > bufsize</parameter> </term>
<listitem >
<para >
Specifies the size of the buffer whose address is given in <parameter > name</parameter> .
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > length</parameter> </term>
<listitem >
<para >
Specifies the address of a variable which is to receive the length of the shader subroutine uniform name.
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > name</parameter> </term>
<listitem >
<para >
Specifies the address of an array into which the name of the shader subroutine uniform will be written.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id= "description" > <title > Description</title>
<para >
<function > glGetActiveSubroutineName</function> queries the name of an active shader subroutine uniform from the
program object given in <parameter > program</parameter> . <parameter > index</parameter> specifies the index of
the shader subroutine uniform within the shader stage given by <parameter > stage</parameter> , and must between
zero and the value of <constant > GL_ACTIVE_SUBROUTINES</constant> minus one for the shader stage.
</para>
<para >
The name of the selected subroutine is returned as a null-terminated string in <parameter > name</parameter> . The
actual number of characters written into <parameter > name</parameter> , not including the null-terminator, is
is returned in <parameter > length</parameter> . If <parameter > length</parameter> is <constant > NULL</constant> ,
no length is returned. The maximum number of characters that may be written into <parameter > name</parameter> ,
including the null-terminator, is given in <parameter > bufsize</parameter> .
</para>
</refsect1>
<refsect1 id= "errors" > <title > Errors</title>
<para >
<constant > GL_INVALID_VALUE</constant> is generated if <parameter > index</parameter> is greater than or equal to
the value of <constant > GL_ACTIVE_SUBROUTINES</constant> .
</para>
<para >
<constant > GL_INVALID_VALUE</constant> is generated if <parameter > program</parameter> is not the name of an
existing program object.
</para>
</refsect1>
<refsect1 id= "associatedgets" > <title > Associated Gets</title>
<para >
<citerefentry > <refentrytitle > glGetProgramStage</refentrytitle> </citerefentry> with argument <constant > GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH</constant>
</para>
</refsect1>
<refsect1 id= "seealso" > <title > See Also</title>
<para >
<citerefentry > <refentrytitle > glGetSubroutineIndex</refentrytitle> </citerefentry> ,
<citerefentry > <refentrytitle > glGetActiveSubroutineUniform</refentrytitle> </citerefentry> ,
<citerefentry > <refentrytitle > glGetProgramStage</refentrytitle> </citerefentry>
</para>
</refsect1>
<refsect1 id= "Copyright" > <title > Copyright</title>
<para >
Copyright <trademark class= "copyright" > </trademark> 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth in
the Open Publication License, v 1.0, 8 June 1999.
<ulink url= "http://opencontent.org/openpub/" > http://opencontent.org/openpub/</ulink> .
</para>
</refsect1>
</refentry>