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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
<!DOCTYPE refentry [ <!ENTITY % mathent SYSTEM "math.ent"> %mathent; ]>
<!-- Converted by db4-upgrade version 1.1 -->
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="glGetShaderSource">
<info>
<copyright>
<year>2003-2005</year>
<holder>3Dlabs Inc. Ltd.</holder>
</copyright>
<copyright>
<year>2010-2014</year>
<holder>Khronos Group</holder>
</copyright>
</info>
<refmeta>
<refentrytitle>glGetShaderSource</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glGetShaderSource</refname>
<refpurpose>Returns the source code string from a shader object</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glGetShaderSource</function></funcdef>
<paramdef>GLuint <parameter>shader</parameter></paramdef>
<paramdef>GLsizei <parameter>bufSize</parameter></paramdef>
<paramdef>GLsizei *<parameter>length</parameter></paramdef>
<paramdef>GLchar *<parameter>source</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 xml:id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>shader</parameter></term>
<listitem>
<para>Specifies the shader object to be
queried.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>bufSize</parameter></term>
<listitem>
<para>Specifies the size of the character buffer for
storing the returned source code string.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>Returns the length of the string returned in
<parameter>source</parameter> (excluding the null
terminator).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>source</parameter></term>
<listitem>
<para>Specifies an array of characters that is used
to return the source code string.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 xml:id="description"><title>Description</title>
<para><function>glGetShaderSource</function> returns the
concatenation of the source code strings from the shader object
specified by <parameter>shader</parameter>. The source code
strings for a shader object are the result of a previous call to
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry>.
The string returned by the function will be null
terminated.</para>
<para><function>glGetShaderSource</function> returns in
<parameter>source</parameter> as much of the source code string
as it can, up to a maximum of <parameter>bufSize</parameter>
characters. The number of characters actually returned,
excluding the null termination character, is specified by
<parameter>length</parameter>. If the length of the returned
string is not required, a value of <constant>NULL</constant> can
be passed in the <parameter>length</parameter> argument. The
size of the buffer required to store the returned source code
string can be obtained by calling
<citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
with the value
<constant>GL_SHADER_SOURCE_LENGTH</constant>.</para>
</refsect1>
<refsect1 xml:id="errors"><title>Errors</title>
<para><constant>GL_INVALID_VALUE</constant> is generated if
<parameter>shader</parameter> is not a value generated by
OpenGL.</para>
<para><constant>GL_INVALID_OPERATION</constant> is generated if
<parameter>shader</parameter> is not a shader object.</para>
<para><constant>GL_INVALID_VALUE</constant> is generated if
<parameter>bufSize</parameter> is less than 0.</para>
</refsect1>
<refsect1 xml:id="associatedgets"><title>Associated Gets</title>
<para><citerefentry><refentrytitle>glGetShader</refentrytitle></citerefentry>
with argument
<constant>GL_SHADER_SOURCE_LENGTH</constant></para>
<para><citerefentry><refentrytitle>glIsShader</refentrytitle></citerefentry></para>
</refsect1>
<refsect1 xml:id="versions"><title>Version Support</title>
<informaltable>
<tgroup cols="13" align="left">
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apifunchead.xml" xpointer="xpointer(/*/*)"/>
<tbody>
<row>
<entry><function>glGetShaderSource</function></entry>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='20']/*)"/>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 xml:id="seealso"><title>See Also</title>
<para><citerefentry><refentrytitle>glCreateShader</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
</refsect1>
<refsect1 xml:id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"/> 2003-2005 3Dlabs Inc. Ltd.
Copyright <trademark class="copyright"/> 2010-2014 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.
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://opencontent.org/openpub/">http://opencontent.org/openpub/</link>.
</para>
</refsect1>
</refentry>
|