Opentk/Source/Bind/Specifications/Docs/glTexCoord.xml
2009-03-08 00:46:58 +00:00

368 lines
16 KiB
XML

<?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="glTexCoord">
<refmeta>
<refmetainfo>
<copyright>
<year>1991-2006</year>
<holder>Silicon Graphics, Inc.</holder>
</copyright>
</refmetainfo>
<refentrytitle>glTexCoord</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glTexCoord</refname>
<refpurpose>set the current texture coordinates</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1s</function></funcdef>
<paramdef>GLshort <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1i</function></funcdef>
<paramdef>GLint <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1f</function></funcdef>
<paramdef>GLfloat <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1d</function></funcdef>
<paramdef>GLdouble <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2s</function></funcdef>
<paramdef>GLshort <parameter>s</parameter></paramdef>
<paramdef>GLshort <parameter>t</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2i</function></funcdef>
<paramdef>GLint <parameter>s</parameter></paramdef>
<paramdef>GLint <parameter>t</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2f</function></funcdef>
<paramdef>GLfloat <parameter>s</parameter></paramdef>
<paramdef>GLfloat <parameter>t</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2d</function></funcdef>
<paramdef>GLdouble <parameter>s</parameter></paramdef>
<paramdef>GLdouble <parameter>t</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3s</function></funcdef>
<paramdef>GLshort <parameter>s</parameter></paramdef>
<paramdef>GLshort <parameter>t</parameter></paramdef>
<paramdef>GLshort <parameter>r</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3i</function></funcdef>
<paramdef>GLint <parameter>s</parameter></paramdef>
<paramdef>GLint <parameter>t</parameter></paramdef>
<paramdef>GLint <parameter>r</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3f</function></funcdef>
<paramdef>GLfloat <parameter>s</parameter></paramdef>
<paramdef>GLfloat <parameter>t</parameter></paramdef>
<paramdef>GLfloat <parameter>r</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3d</function></funcdef>
<paramdef>GLdouble <parameter>s</parameter></paramdef>
<paramdef>GLdouble <parameter>t</parameter></paramdef>
<paramdef>GLdouble <parameter>r</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4s</function></funcdef>
<paramdef>GLshort <parameter>s</parameter></paramdef>
<paramdef>GLshort <parameter>t</parameter></paramdef>
<paramdef>GLshort <parameter>r</parameter></paramdef>
<paramdef>GLshort <parameter>q</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4i</function></funcdef>
<paramdef>GLint <parameter>s</parameter></paramdef>
<paramdef>GLint <parameter>t</parameter></paramdef>
<paramdef>GLint <parameter>r</parameter></paramdef>
<paramdef>GLint <parameter>q</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4f</function></funcdef>
<paramdef>GLfloat <parameter>s</parameter></paramdef>
<paramdef>GLfloat <parameter>t</parameter></paramdef>
<paramdef>GLfloat <parameter>r</parameter></paramdef>
<paramdef>GLfloat <parameter>q</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4d</function></funcdef>
<paramdef>GLdouble <parameter>s</parameter></paramdef>
<paramdef>GLdouble <parameter>t</parameter></paramdef>
<paramdef>GLdouble <parameter>r</parameter></paramdef>
<paramdef>GLdouble <parameter>q</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>s</parameter></term>
<term><parameter>t</parameter></term>
<term><parameter>r</parameter></term>
<term><parameter>q</parameter></term>
<listitem>
<para>
Specify <emphasis>s</emphasis>, <emphasis>t</emphasis>, <emphasis>r</emphasis>, and <emphasis>q</emphasis> texture coordinates.
Not all parameters are present in all forms of the command.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1sv</function></funcdef>
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1iv</function></funcdef>
<paramdef>const GLint * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1fv</function></funcdef>
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord1dv</function></funcdef>
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2sv</function></funcdef>
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2iv</function></funcdef>
<paramdef>const GLint * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2fv</function></funcdef>
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord2dv</function></funcdef>
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3sv</function></funcdef>
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3iv</function></funcdef>
<paramdef>const GLint * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3fv</function></funcdef>
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord3dv</function></funcdef>
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4sv</function></funcdef>
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4iv</function></funcdef>
<paramdef>const GLint * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4fv</function></funcdef>
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexCoord4dv</function></funcdef>
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters2"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>v</parameter></term>
<listitem>
<para>
Specifies a pointer to an array of one, two, three, or four elements,
which in turn specify the
<emphasis>s</emphasis>,
<emphasis>t</emphasis>,
<emphasis>r</emphasis>, and
<emphasis>q</emphasis> texture coordinates.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glTexCoord</function> specifies texture coordinates in
one,
two,
three, or
four dimensions.
<function>glTexCoord1</function> sets the current texture coordinates to
<inlineequation><mml:math>
<!-- eqn: (s, 0, 0, 1):-->
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>0</mml:mn>
<mml:mn>1</mml:mn>
</mml:mfenced>
</mml:math></inlineequation>;
a call to
<function>glTexCoord2</function> sets them to
<inlineequation><mml:math>
<!-- eqn: (s, t, 0, 1):-->
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mn>0</mml:mn>
<mml:mn>1</mml:mn>
</mml:mfenced>
</mml:math></inlineequation>.
Similarly, <function>glTexCoord3</function> specifies the texture coordinates as
<inlineequation><mml:math>
<!-- eqn: (s, t, r, 1):-->
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mn>1</mml:mn>
</mml:mfenced>
</mml:math></inlineequation>,
and
<function>glTexCoord4</function> defines all four components explicitly as
<inlineequation><mml:math>
<!-- eqn: (s, t, r, q):-->
<mml:mfenced open="(" close=")">
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mfenced>
</mml:math></inlineequation>.
</para>
<para>
The current texture coordinates are part of the data
that is associated with each vertex and with the current
raster position.
Initially, the values for
<emphasis>s</emphasis>,
<emphasis>t</emphasis>,
<emphasis>r</emphasis>, and
<emphasis>q</emphasis>
are (0, 0, 0, 1).
</para>
<para>
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
The current texture coordinates can be updated at any time.
In particular,
<function>glTexCoord</function> can be called between a call to <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
call to <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
</para>
<para>
When the <code>ARB_imaging</code> extension is supported, <function>glTexCoord</function> always
updates texture unit <constant>GL_TEXTURE0</constant>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_CURRENT_TEXTURE_COORDS</constant>
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glMultiTexCoord</refentrytitle></citerefentry>,
<function>glTexCoordPointer</function>,
<citerefentry><refentrytitle>glVertex</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>