<?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>