456 lines
22 KiB
XML
456 lines
22 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="glMultiTexCoord">
|
|
<refmeta>
|
|
<refmetainfo>
|
|
<copyright>
|
|
<year>1991-2006</year>
|
|
<holder>Silicon Graphics, Inc.</holder>
|
|
</copyright>
|
|
</refmetainfo>
|
|
<refentrytitle>glMultiTexCoord</refentrytitle>
|
|
<manvolnum>3G</manvolnum>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>glMultiTexCoord</refname>
|
|
<refpurpose>set the current texture coordinates</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv><title>C Specification</title>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1s</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLshort <parameter>s</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1i</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLint <parameter>s</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1f</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLfloat <parameter>s</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1d</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLdouble <parameter>s</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2s</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLshort <parameter>s</parameter></paramdef>
|
|
<paramdef>GLshort <parameter>t</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2i</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLint <parameter>s</parameter></paramdef>
|
|
<paramdef>GLint <parameter>t</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2f</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLfloat <parameter>s</parameter></paramdef>
|
|
<paramdef>GLfloat <parameter>t</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2d</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLdouble <parameter>s</parameter></paramdef>
|
|
<paramdef>GLdouble <parameter>t</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord3s</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord3i</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord3f</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord3d</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord4s</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord4i</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord4f</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>glMultiTexCoord4d</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<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>
|
|
<!-- eqn: ignoring delim $$ -->
|
|
<refsect1 id="parameters"><title>Parameters</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>target</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the texture unit whose coordinates should be modified. The number
|
|
of texture units is implementation dependent, but must be at least
|
|
two. Symbolic constant must be one of
|
|
<constant>GL_TEXTURE</constant><inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>,
|
|
where i ranges from 0 to <constant>GL_MAX_TEXTURE_COORDS</constant> - 1,
|
|
which is an implementation-dependent value.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>s</parameter></term>
|
|
<term><parameter>t</parameter></term>
|
|
<term><parameter>r</parameter></term>
|
|
<term><parameter>q</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specify <parameter>s</parameter>, <parameter>t</parameter>, <parameter>r</parameter>, and <parameter>q</parameter> texture coordinates for
|
|
<parameter>target</parameter> texture unit. 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>glMultiTexCoord1sv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1iv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLint * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1fv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord1dv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2sv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2iv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLint * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2fv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord2dv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord3sv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord3iv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLint * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord3fv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord3dv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord4sv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLshort * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord4iv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLint * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord4fv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLfloat * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glMultiTexCoord4dv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>const GLdouble * <parameter>v</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
<refsect1 id="parameters2"><title>Parameters</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>target</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the texture unit whose coordinates should be modified. The number
|
|
of texture units is implementation dependent, but must be at least
|
|
two. Symbolic constant must be one of
|
|
<constant>GL_TEXTURE</constant><inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>,
|
|
where i ranges from 0 to <constant>GL_MAX_TEXTURE_COORDS</constant> - 1,
|
|
which is an implementation-dependent value.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<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
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>,
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">t</mml:mi></mml:math></inlineequation>,
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">r</mml:mi></mml:math></inlineequation>,
|
|
and
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">q</mml:mi></mml:math></inlineequation>
|
|
texture coordinates.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
<refsect1 id="description"><title>Description</title>
|
|
<para>
|
|
<function>glMultiTexCoord</function> specifies texture coordinates in one, two, three, or four
|
|
dimensions.
|
|
<function>glMultiTexCoord1</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>glMultiTexCoord2</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>glMultiTexCoord3</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>glMultiTexCoord4</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
|
|
<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>
|
|
are
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: (0, 0, 0, 1):-->
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mn>0</mml:mn>
|
|
<mml:mn>0</mml:mn>
|
|
<mml:mn>0</mml:mn>
|
|
<mml:mn>1</mml:mn>
|
|
</mml:mfenced>
|
|
</mml:math></inlineequation>.
|
|
</para>
|
|
<para>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 id="notes"><title>Notes</title>
|
|
<para>
|
|
<function>glMultiTexCoord</function> is only supported if the GL version is 1.3 or greater, or if
|
|
<code>ARB_multitexture</code> is included in the string returned by
|
|
<citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry> when called with the argument <constant>GL_EXTENSIONS</constant>.
|
|
</para>
|
|
<para>
|
|
The current texture coordinates can be updated at any time.
|
|
In particular,
|
|
<function>glMultiTexCoord</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>
|
|
It is always the case that <constant>GL_TEXTURE</constant>
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>
|
|
= <constant>GL_TEXTURE0</constant> +
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>.
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_CURRENT_TEXTURE_COORDS</constant> with appropriate
|
|
texture unit selected.
|
|
</para>
|
|
<para>
|
|
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAX_TEXTURE_COORDS</constant>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 id="seealso"><title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glClientActiveTexture</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glTexCoord</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glTexCoordPointer</refentrytitle></citerefentry>,
|
|
<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>
|