mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-27 09:35:43 +00:00
608 lines
33 KiB
XML
608 lines
33 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="glTexParameter">
|
|
<refmeta>
|
|
<refmetainfo>
|
|
<copyright>
|
|
<year>1991-2006</year>
|
|
<holder>Silicon Graphics, Inc.</holder>
|
|
</copyright>
|
|
</refmetainfo>
|
|
<refentrytitle>glTexParameter</refentrytitle>
|
|
<manvolnum>3G</manvolnum>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>glTexParameter</refname>
|
|
<refpurpose>set texture parameters</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv><title>C Specification</title>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glTexParameterf</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLenum <parameter>pname</parameter></paramdef>
|
|
<paramdef>GLfloat <parameter>param</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glTexParameteri</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLenum <parameter>pname</parameter></paramdef>
|
|
<paramdef>GLint <parameter>param</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 target texture of the active texture unit,
|
|
which must be either <constant>GL_TEXTURE_2D</constant> or
|
|
<constant>GL_TEXTURE_CUBE_MAP</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>pname</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the symbolic name of a single-valued texture parameter.
|
|
<parameter>pname</parameter> can be one of the following:
|
|
<constant>GL_TEXTURE_MIN_FILTER</constant>,
|
|
<constant>GL_TEXTURE_MAG_FILTER</constant>,
|
|
<constant>GL_TEXTURE_WRAP_S</constant>, or
|
|
<constant>GL_TEXTURE_WRAP_T</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>param</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the value of <parameter>pname</parameter>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
<refsynopsisdiv><title>C Specification</title>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glTexParameterfv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLenum <parameter>pname</parameter></paramdef>
|
|
<paramdef>const GLfloat * <parameter>params</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>void <function>glTexParameteriv</function></funcdef>
|
|
<paramdef>GLenum <parameter>target</parameter></paramdef>
|
|
<paramdef>GLenum <parameter>pname</parameter></paramdef>
|
|
<paramdef>const GLint * <parameter>params</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
<refsect1 id="parameters2"><title>Parameters</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>target</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the target texture of the active texture unit,
|
|
which must be either <constant>GL_TEXTURE_2D</constant> or
|
|
<constant>GL_TEXTURE_CUBE_MAP</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>pname</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the symbolic name of a texture parameter.
|
|
<parameter>pname</parameter> can be one of the following:
|
|
<constant>GL_TEXTURE_MIN_FILTER</constant>,
|
|
<constant>GL_TEXTURE_MAG_FILTER</constant>,
|
|
<constant>GL_TEXTURE_WRAP_S</constant>, or
|
|
<constant>GL_TEXTURE_WRAP_T</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>params</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies a pointer to an array where the value of
|
|
<parameter>pname</parameter> is stored.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
<refsect1 id="description"><title>Description</title>
|
|
<para>
|
|
Texture mapping is a technique that applies an image onto an object's surface
|
|
as if the image were a decal or cellophane shrink-wrap.
|
|
The image is created in texture space,
|
|
with an
|
|
(<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>)
|
|
coordinate system.
|
|
A texture is a two-dimensional or cube-mapped image and a set of parameters
|
|
that determine how samples are derived from the image.
|
|
</para>
|
|
<para>
|
|
<function>glTexParameter</function> assigns the value or values in <parameter>params</parameter> to the texture parameter
|
|
specified as <parameter>pname</parameter>.
|
|
<parameter>target</parameter> defines the target texture of the active texture unit,
|
|
either <constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>.
|
|
The following symbols are accepted in <parameter>pname</parameter>:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><constant>GL_TEXTURE_MIN_FILTER</constant></term>
|
|
<listitem>
|
|
<para>
|
|
The texture minifying function is used whenever the pixel being textured
|
|
maps to an area greater than one texture element.
|
|
There are six defined minifying functions.
|
|
Two of them use the nearest one or nearest four texture elements
|
|
to compute the texture value.
|
|
The other four use mipmaps.
|
|
</para>
|
|
<para>
|
|
A mipmap is an ordered set of arrays representing the same image
|
|
at progressively lower resolutions.
|
|
If the texture has dimensions
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: w times h:-->
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">w</mml:mi>
|
|
<mml:mo>×</mml:mo>
|
|
<mml:mi mathvariant="italic">h</mml:mi>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>,
|
|
there are
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: floor ( log sub 2 ( max ( w, h ) ) ) + 1:-->
|
|
<mml:mrow>
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">floor</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mrow>
|
|
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
|
<mml:mn>2</mml:mn>
|
|
</mml:msub>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">max</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mi mathvariant="italic">w</mml:mi>
|
|
<mml:mi mathvariant="italic">h</mml:mi>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
<mml:mo>+</mml:mo>
|
|
<mml:mn>1</mml:mn>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>
|
|
mipmap levels.
|
|
The first mipmap level is the original texture,
|
|
with dimensions
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: w times h:-->
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">w</mml:mi>
|
|
<mml:mo>×</mml:mo>
|
|
<mml:mi mathvariant="italic">h</mml:mi>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>.
|
|
Each subsequent mipmap level has dimensions
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: max ( 1, floor ( w over 2 sup i ) ) times max ( 1, floor ( h over 2 sup i ) ):-->
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">max</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">floor</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mfrac>
|
|
<mml:mi mathvariant="italic">w</mml:mi>
|
|
<mml:msup><mml:mn>2</mml:mn>
|
|
<mml:mi mathvariant="italic">i</mml:mi>
|
|
</mml:msup>
|
|
</mml:mfrac>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
<mml:mo>×</mml:mo>
|
|
<mml:mi mathvariant="italic">max</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">floor</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mfrac>
|
|
<mml:mi mathvariant="italic">h</mml:mi>
|
|
<mml:msup><mml:mn>2</mml:mn>
|
|
<mml:mi mathvariant="italic">i</mml:mi>
|
|
</mml:msup>
|
|
</mml:mfrac>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>,
|
|
where
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: i:-->
|
|
<mml:mi mathvariant="italic">i</mml:mi>
|
|
</mml:math></inlineequation>
|
|
is the mipmap level,
|
|
until the final mipmap is reached,
|
|
which has dimension
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: 1 times 1:-->
|
|
<mml:mrow>
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mo>×</mml:mo>
|
|
<mml:mn>1</mml:mn>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>.
|
|
</para>
|
|
<para>
|
|
To define the mipmap levels, call <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
|
or <citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>
|
|
with the <emphasis>level</emphasis> argument indicating the order of the mipmaps.
|
|
Level 0 is the original texture;
|
|
level
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: floor ( log sub 2 ( max ( w, h ) ) ):-->
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">floor</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mrow>
|
|
<mml:msub><mml:mi mathvariant="italic">log</mml:mi>
|
|
<mml:mn>2</mml:mn>
|
|
</mml:msub>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">max</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mi mathvariant="italic">w</mml:mi>
|
|
<mml:mi mathvariant="italic">h</mml:mi>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>
|
|
is the final
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: 1 times 1:-->
|
|
<mml:mrow>
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mo>×</mml:mo>
|
|
<mml:mn>1</mml:mn>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>
|
|
mipmap.
|
|
</para>
|
|
<para>
|
|
<parameter>params</parameter> supplies a function for minifying the texture as one of the
|
|
following:
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><constant>GL_NEAREST</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Returns the value of the texture element that is nearest
|
|
(in Manhattan distance)
|
|
to the center of the pixel being textured.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_LINEAR</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Returns the weighted average of the four texture elements
|
|
that are closest to the center of the pixel being textured.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_NEAREST_MIPMAP_NEAREST</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Chooses the mipmap that most closely matches the size of the pixel
|
|
being textured and uses the <constant>GL_NEAREST</constant> criterion
|
|
(the texture element nearest to the center of the pixel)
|
|
to produce a texture value.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_LINEAR_MIPMAP_NEAREST</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Chooses the mipmap that most closely matches the size of the pixel
|
|
being textured and uses the <constant>GL_LINEAR</constant> criterion
|
|
(a weighted average of the four texture elements that are closest
|
|
to the center of the pixel)
|
|
to produce a texture value.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_NEAREST_MIPMAP_LINEAR</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Chooses the two mipmaps that most closely match the size of the pixel
|
|
being textured and uses the <constant>GL_NEAREST</constant> criterion
|
|
(the texture element nearest to the center of the pixel)
|
|
to produce a texture value from each mipmap.
|
|
The final texture value is a weighted average of those two values.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_LINEAR_MIPMAP_LINEAR</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Chooses the two mipmaps that most closely match the size of the pixel
|
|
being textured and uses the <constant>GL_LINEAR</constant> criterion
|
|
(a weighted average of the four texture elements that are closest
|
|
to the center of the pixel)
|
|
to produce a texture value from each mipmap.
|
|
The final texture value is a weighted average of those two values.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
As more texture elements are sampled in the minification process,
|
|
fewer aliasing artifacts will be apparent.
|
|
While the <constant>GL_NEAREST</constant> and <constant>GL_LINEAR</constant> minification functions can be
|
|
faster than the other four,
|
|
they sample only one or four texture elements to determine the texture value
|
|
of the pixel being rendered and can produce moire patterns
|
|
or ragged transitions.
|
|
The initial value of <constant>GL_TEXTURE_MIN_FILTER</constant> is
|
|
<constant>GL_NEAREST_MIPMAP_LINEAR</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_TEXTURE_MAG_FILTER</constant></term>
|
|
<listitem>
|
|
<para>
|
|
The texture magnification function is used when the pixel being textured
|
|
maps to an area less than or equal to one texture element.
|
|
It sets the texture magnification function to either <constant>GL_NEAREST</constant>
|
|
or <constant>GL_LINEAR</constant> (see below). <constant>GL_NEAREST</constant> is generally faster
|
|
than <constant>GL_LINEAR</constant>,
|
|
but it can produce textured images with sharper edges
|
|
because the transition between texture elements is not as smooth.
|
|
The initial value of <constant>GL_TEXTURE_MAG_FILTER</constant> is <constant>GL_LINEAR</constant>.
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><constant>GL_NEAREST</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Returns the value of the texture element that is nearest
|
|
(in Manhattan distance)
|
|
to the center of the pixel being textured.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><constant>GL_LINEAR</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Returns the weighted average of the four texture elements
|
|
that are closest to the center of the pixel being textured.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
</para>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><constant>GL_TEXTURE_WRAP_S</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Sets the wrap parameter for texture coordinate
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>, or
|
|
<constant>GL_REPEAT</constant>. <constant>GL_CLAMP_TO_EDGE</constant> causes
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
coordinates to be clamped to the
|
|
range
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: left [ {1 over 2N}, 1 - {1 over 2N} right ]:-->
|
|
<mml:mfenced open="[" close="]">
|
|
<mml:mfenced open="" close="">
|
|
<mml:mrow>
|
|
<mml:mfrac>
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mn>2<mml:mi mathvariant="italic">N</mml:mi></mml:mn>
|
|
</mml:mfrac>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
<mml:mrow>
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mo>-</mml:mo>
|
|
<mml:mfenced open="" close="">
|
|
<mml:mrow>
|
|
<mml:mfrac>
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mn>2<mml:mi mathvariant="italic">N</mml:mi></mml:mn>
|
|
</mml:mfrac>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mfenced>
|
|
</mml:math></inlineequation>,
|
|
where
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">N</mml:mi></mml:math></inlineequation>
|
|
is the size
|
|
of the texture in the direction of clamping. <constant>GL_REPEAT</constant> causes the
|
|
integer part of the
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
coordinate to be ignored; the GL uses only the
|
|
fractional part, thereby creating a repeating pattern.
|
|
<constant>GL_MIRRORED_REPEAT</constant> causes the
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
coordinate to be set to the
|
|
fractional part of the texture coordinate if the integer part of
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
is
|
|
even; if the integer part of
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
is odd, then the
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>
|
|
texture coordinate is
|
|
set to
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: 1 - frac(s):-->
|
|
<mml:mrow>
|
|
<mml:mn>1</mml:mn>
|
|
<mml:mo>-</mml:mo>
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">frac</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mi mathvariant="italic">s</mml:mi>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>,
|
|
where
|
|
<inlineequation><mml:math>
|
|
<!-- eqn: frac(s):-->
|
|
<mml:mrow>
|
|
<mml:mi mathvariant="italic">frac</mml:mi>
|
|
<mml:mo>⁡</mml:mo>
|
|
<mml:mfenced open="(" close=")">
|
|
<mml:mi mathvariant="italic">s</mml:mi>
|
|
</mml:mfenced>
|
|
</mml:mrow>
|
|
</mml:math></inlineequation>
|
|
represents the fractional part of
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">s</mml:mi></mml:math></inlineequation>.
|
|
Initially,
|
|
<constant>GL_TEXTURE_WRAP_S</constant> is set to <constant>GL_REPEAT</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><constant>GL_TEXTURE_WRAP_T</constant></term>
|
|
<listitem>
|
|
<para>
|
|
Sets the wrap parameter for texture coordinate
|
|
<inlineequation><mml:math><mml:mi mathvariant="italic">t</mml:mi></mml:math></inlineequation>
|
|
to either <constant>GL_CLAMP_TO_EDGE</constant>, <constant>GL_MIRRORED_REPEAT</constant>, or
|
|
<constant>GL_REPEAT</constant>. See the discussion under <constant>GL_TEXTURE_WRAP_S</constant>.
|
|
Initially, <constant>GL_TEXTURE_WRAP_T</constant> is set to <constant>GL_REPEAT</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
<refsect1 id="notes"><title>Notes</title>
|
|
<para>
|
|
Suppose that a texture is accessed from a fragment shader or vertex shader and
|
|
has set <constant>GL_TEXTURE_MIN_FILTER</constant> to one of the functions that requires
|
|
mipmaps. If either the dimensions of the texture images currently defined
|
|
(with previous calls to <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glCompressedTexImage2D</refentrytitle></citerefentry>,
|
|
or <citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>) do not
|
|
follow the proper sequence for mipmaps (described above), or there are
|
|
fewer texture images defined than are needed, or the set of texture images
|
|
were defined with different formats or types, then the texture image unit will return
|
|
(R, G, B, A) = (0, 0, 0, 1).
|
|
</para>
|
|
<para>
|
|
Similarly, if the width or height of a texture image are not powers of two and either the
|
|
<constant>GL_TEXTURE_MIN_FILTER</constant> is set to one of the functions that requires mipmaps
|
|
or the <constant>GL_TEXTURE_WRAP_S</constant> or <constant>GL_TEXTURE_WRAP_T</constant> is not
|
|
set to <constant>GL_CLAMP_TO_EDGE</constant>, then the texture image unit will return
|
|
(R, G, B, A) = (0, 0, 0, 1).
|
|
</para>
|
|
<para>
|
|
<function>glTexParameter</function>
|
|
specifies the texture parameters for the texture bound to the active texture unit, specified
|
|
by calling <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 id="errors"><title>Errors</title>
|
|
<para>
|
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> or <parameter>pname</parameter> is not
|
|
one of the accepted defined values.
|
|
</para>
|
|
<para>
|
|
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>params</parameter>
|
|
should have a defined symbolic
|
|
constant value (based on the value of <parameter>pname</parameter>) and does not.
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 id="associatedgets"><title>Associated Gets</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 id="seealso"><title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glBindTexture</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glPixelStorei</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
|
|
<citerefentry><refentrytitle>glTexSubImage2D</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>
|