Opentk/Source/Bind/Specifications/Docs/glPatchParameter.xml
2010-11-21 14:34:29 +00:00

112 lines
6.2 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="glPatchParameter">
<refmeta>
<refmetainfo>
<copyright>
<year>2010</year>
<holder>Khronos Group.</holder>
</copyright>
</refmetainfo>
<refentrytitle>glPatchParameter</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glPatchParameter</refname>
<refpurpose>specifies the parameters for patch primitives</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glPatchParameteri</function></funcdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>GLint <parameter>value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glPatchParameterfv</function></funcdef>
<paramdef>GLenum <parameter>pname</parameter></paramdef>
<paramdef>const GLfloat *<parameter>values</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- eqn: ignoring delim $$ -->
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>pname</parameter></term>
<listitem>
<para>
Specifies the name of the parameter to set. The symbolc constants <constant>GL_PATCH_VERTICES</constant>,
<constant>GL_PATCH_DEFAULT_OUTER_LEVEL</constant>, and <constant>GL_PATCH_DEFAULT_INNER_LEVEL</constant> are accepted.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Specifies the new value for the parameter given by <parameter>pname</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>values</parameter></term>
<listitem>
<para>
Specifies the address of an array containing the new values for the parameter given by <parameter>pname</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glPatchParameter</function> specifies the parameters that will be used for patch primitives. <parameter>pname</parameter>
specifies the parameter to modify and must be either <constant>GL_PATCH_VERTICES</constant>, <constant>GL_PATCH_DEFAULT_OUTER_LEVEL</constant>
or <constant>GL_PATCH_DEFAULT_INNER_LEVEL</constant>. For <function>glPatchParameteri</function>, <parameter>value</parameter> specifies
the new value for the parameter specified by <parameter>pname</parameter>. For <function>glPatchParameterfv</function>, <parameter>values</parameter>
specifies the address of an array containing the new values for the parameter specified by <parameter>pname</parameter>.
</para>
<para>
When <parameter>pname</parameter> is <constant>GL_PATCH_VERTICES</constant>, <parameter>value</parameter> specifies the number
of vertices that will be used to make up a single patch primitive. Patch primitives are consumed by the tessellation control
shader (if present) and subsequently used for tessellation. When primitives are specified using
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry> or a similar function, each patch will be made
from <parameter>parameter</parameter> control points, each represented by a vertex taken from the enabeld vertex arrays.
<parameter>parameter</parameter> must be greater than zero, and less than or equal to the value of <constant>GL_MAX_PATCH_VERTICES</constant>.
</para>
<para>
When <parameter>pname</parameter> is <constant>GL_PATCH_DEFAULT_OUTER_LEVEL</constant> or <constant>GL_PATCH_DEFAULT_INNER_LEVEL</constant>,
<parameter>values</parameter> contains the address of an array contiaining the default outer or inner tessellation levels, respectively,
to be used when no tessellation control shader is present.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>pname</parameter> is not an accepted value.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>pname</parameter> is <constant>GL_PATCH_VERTICES</constant>
and <parameter>value</parameter> is less than or equal to zero, or greater than the value of <constant>GL_MAX_PATCH_VERTICES</constant>.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glDrawArrays</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDrawArraysInstanced</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDrawElements</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDrawRangeElements</refentrytitle></citerefentry>,
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2010 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>