
<refentry id="glLoadName">
    <refmeta>
        <refmetainfo>
            <copyright>
                <year>1991-2006</year>
                <holder>Silicon Graphics, Inc.</holder>
            </copyright>
        </refmetainfo>
        <refentrytitle>glLoadName</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>glLoadName</refname>
        <refpurpose>load a name onto the name stack</refpurpose>
    </refnamediv>
    <refsynopsisdiv><title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glLoadName</function></funcdef>
                <paramdef>GLuint <parameter>name</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><parameter>name</parameter></term>
            <listitem>
                <para>
                    Specifies a name that will replace the top value on the name stack.
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 id="description"><title>Description</title>
        <para>
            The name stack is used during selection mode to allow sets of rendering
            commands to be uniquely identified.
            It consists of an ordered set of unsigned integers and is initially empty.
        </para>
        <para>
            <function>glLoadName</function> causes <parameter>name</parameter> to replace the value on the top of the name stack.
        </para>
        <para>
            The name stack is always empty while the render mode is not <constant>GL_SELECT</constant>.
            Calls to <function>glLoadName</function> while the render mode is not <constant>GL_SELECT</constant> are ignored.
        </para>
    </refsect1>
    <refsect1 id="errors"><title>Errors</title>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated if <function>glLoadName</function> is called while the
            name stack is empty.
        </para>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated if <function>glLoadName</function> is executed between
            the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
        </para>
    </refsect1>
    <refsect1 id="associatedgets"><title>Associated Gets</title>
        <para>
            <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_NAME_STACK_DEPTH</constant>
        </para>
        <para>
            <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAX_NAME_STACK_DEPTH</constant>
        </para>
    </refsect1>
    <refsect1 id="seealso"><title>See Also</title>
        <para>
            <citerefentry><refentrytitle>glInitNames</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glPushName</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glRenderMode</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glSelectBuffer</refentrytitle></citerefentry>
        </para>
    </refsect1>
    <refsect1 id="Copyright"><title>Copyright</title>
        <para>
            Copyright <trademark class="copyright"></trademark> 1991-2006
            Silicon Graphics, Inc. This document is licensed under the SGI
            Free Software B License. For details, see
            <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
        </para>
    </refsect1>
</refentry>
