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

150 lines
6.9 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="glClearBufferSubData">
<refmeta>
<refmetainfo>
<copyright>
<year>2012</year>
<holder>Khronos Group</holder>
</copyright>
</refmetainfo>
<refentrytitle>glClearBufferSubData</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glClearBufferSubData</refname>
<refpurpose>fill all or part of buffer object's data store with a fixed value</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glClearBufferSubData</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLenum <parameter>internalformat</parameter></paramdef>
<paramdef>GLintptr <parameter>offset</parameter></paramdef>
<paramdef>GLsizeiptr <parameter>size</parameter></paramdef>
<paramdef>GLenum <parameter>format</parameter></paramdef>
<paramdef>GLenum <parameter>type</parameter></paramdef>
<paramdef>const void * <parameter>data</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>target</parameter></term>
<listitem>
<para>
Specify the target of the operation. <parameter>target</parameter> must be
one of the global buffer binding targets.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>internalformat</parameter></term>
<listitem>
<para>
The internal format with which the data will be stored in the buffer object.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
The offset, in basic machine units into the buffer object's data store at which to start filling.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
The size, in basic machine units of the range of the data store to fill.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
The format of the data in memory addressed by <parameter>data</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>type</parameter></term>
<listitem>
<para>
The type of the data in memory addressed by <parameter>data</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
The address of a memory location storing the data to be replicated into the
buffer's data store.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glClearBufferSubData</function> fills a specified region of a buffer object's
data store with data from client memory. <parameter>offset</parameter> and <parameter>size</parameter>
demark the extent of the region within the data store of the buffer object bound to
<parameter>target</parameter> to fill with data. Data, initially supplied in a format
specified by <parameter>format</parameter> in data type <parameter>type</parameter> is
read from the memory address given by <parameter>data</parameter> and converted into
the internal representation given by <parameter>internalforamt</parameter>.
This converted data is then replicated throughout the specified region of the buffer object's
data store.
</para>
<para>
If <parameter>data</parameter> is NULL, then the subrange of the buffer's data store
is filled with zeros.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> not one of the generic buffer binding targets.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if no buffer is bound to <parameter>target</parameter>.
</para>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>internalformat</parameter> is not a sized internal format.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or <parameter>range</parameter> are not multiples of
the number of basic machine units per-element for the internal format specified by
<parameter>internalformat</parameter>.
</para>
<para>
<constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> or <parameter>size</parameter> is less than zero, or if
<parameter>offset</parameter> + <parameter>size</parameter> is greater than the value of <constant>GL_BUFFER_SIZE</constant> for the buffer bound to <parameter>target</parameter>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if any part of the specified buffer range is
mapped with <citerefentry><refentrytitle>glMapBufferRange</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glMapBuffer</refentrytitle></citerefentry>.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glClearBufferData</refentrytitle></citerefentry>.
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2012 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>