Opentk/Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml

148 lines
7.5 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="glTexImage2DMultisample">
<refmeta>
<refmetainfo>
<copyright>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glTexImage2DMultisample</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glTexImage2DMultisample</refname>
<refpurpose>establish the data storage, format, dimensions, and number of samples of a multisample texture's image</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glTexImage2DMultisample</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLsizei <parameter>samples</parameter></paramdef>
<paramdef>GLenum <parameter>internalformat</parameter></paramdef>
<paramdef>GLsizei <parameter>width</parameter></paramdef>
<paramdef>GLsizei <parameter>height</parameter></paramdef>
<paramdef>GLboolean <parameter>fixedsamplelocations</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>target</parameter></term>
<listitem>
<para>
Specifies the target of the operation. <parameter>target</parameter> must be <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>samples</parameter></term>
<listitem>
<para>
The number of samples in the multisample texture's image.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>internalformat</parameter></term>
<listitem>
<para>
The internal format to be used to store the multisample texture's image. <parameter>internalformat</parameter> must specify a color-renderable, depth-renderable, or stencil-renderable format.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
The width of the multisample texture's image, in texels.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
The height of the multisample texture's image, in texels.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fixedsamplelocations</parameter></term>
<listitem>
<para>
Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not
depend on the internal format or size of the image.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glTexImage2DMultisample</function> establishes the data storage, format, dimensions and number of samples of a multisample texture's image.
</para>
<para>
<parameter>target</parameter> must be <constant>GL_TEXTURE_2D_MULTISAMPLE</constant> or <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE</constant>.
<parameter>width</parameter> and <parameter>height</parameter> are the dimensions in texels of the texture, and must be in the range zero
to <constant>GL_MAX_TEXTURE_SIZE</constant> - 1. <parameter>samples</parameter> specifies the number of samples in the image and must be
in the range zero to <constant>GL_MAX_SAMPLES</constant> - 1.
</para>
<para>
<parameter>internalformat</parameter> must be a color-renderable, depth-renderable, or stencil-renderable format.
</para>
<para>
If <parameter>fixedsamplelocations</parameter> is <constant>GL_TRUE</constant>, the image will use identical sample locations and the same
number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
</para>
<para>
When a multisample texture is accessed in a shader, the access takes one vector of integers describing which texel to fetch and an integer
corresponding to the sample numbers describing which sample within the texel to fetch. No standard sampling instructions are allowed on the
multisample texture targets.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
<function>glTexImage2DMultisample</function> is available only if the GL version is 3.2 or greater.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is a depth- or stencil-renderable format and <parameter>samples</parameter>
is greater than the value of <constant>GL_MAX_DEPTH_TEXTURE_SAMPLES</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is a color-renderable format and <parameter>samples</parameter> is
greater than the value of <constant>GL_MAX_COLOR_TEXTURE_SAMPLES</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalformat</parameter> is a signed or unsigned integer format and <parameter>samples</parameter>
is greater than the value of <constant>GL_MAX_INTEGER_SAMPLES</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if either <parameter>width</parameter> or <parameter>height</parameter> negative or is greater than <constant>GL_MAX_TEXTURE_SIZE</constant>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>samples</parameter> is greater than <constant>GL_MAX_SAMPLES</constant>.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage2DMultisample</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010-2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
</para>
</refsect1>
</refentry>