<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>glRenderbufferStorageMultisample - OpenGL ES 3.0 Reference Pages</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div class="refentry" title="glRenderbufferStorageMultisample"><a id="glRenderbufferStorageMultisample"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glRenderbufferStorageMultisample — establish data storage, format, dimensions and sample count of a renderbuffer object's image</p></div><div class="refsynopsisdiv" title="C Specification"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">glRenderbufferStorageMultisample</b>(</code></td><td>GLenum <var class="pdparam">target</var>, </td></tr><tr><td> </td><td>GLsizei <var class="pdparam">samples</var>, </td></tr><tr><td> </td><td>GLenum <var class="pdparam">internalformat</var>, </td></tr><tr><td> </td><td>GLsizei <var class="pdparam">width</var>, </td></tr><tr><td> </td><td>GLsizei <var class="pdparam">height</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Parameters"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>target</code></em></span></dt><dd><p>
                    Specifies a binding to which the target of the allocation and must be <code class="constant">GL_RENDERBUFFER</code>.
                </p></dd><dt><span class="term"><em class="parameter"><code>samples</code></em></span></dt><dd><p>
                    Specifies the number of samples to be used for the renderbuffer object's storage.
                </p></dd><dt><span class="term"><em class="parameter"><code>internalformat</code></em></span></dt><dd><p>
                    Specifies the internal format to use for the renderbuffer object's image.
                </p></dd><dt><span class="term"><em class="parameter"><code>width</code></em></span></dt><dd><p>
                    Specifies the width of the renderbuffer, in pixels.
                </p></dd><dt><span class="term"><em class="parameter"><code>height</code></em></span></dt><dd><p>
                    Specifies the height of the renderbuffer, in pixels.
                </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="description"></a><h2>Description</h2><p>
            <code class="function">glRenderbufferStorageMultisample</code> establishes the data storage, format, dimensions and number of
            samples of a renderbuffer object's image.
        </p><p>
            The target of the operation, specified by <em class="parameter"><code>target</code></em> must be <code class="constant">GL_RENDERBUFFER</code>.
            <em class="parameter"><code>internalformat</code></em> specifies the internal format to be used for the renderbuffer object's storage and
            must be a color-renderable, depth-renderable, or stencil-renderable format, as shown in Table 1 below.
            <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em> are the dimensions, in pixels, of the renderbuffer.
            Both <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em> must be less than or equal to the value of
            <code class="constant">GL_MAX_RENDERBUFFER_SIZE</code>. <em class="parameter"><code>samples</code></em> specifies the number of samples to be used
            for the renderbuffer object's image. If <em class="parameter"><code>internalformat</code></em> is a signed or unsigned integer format then 
			<em class="parameter"><code>samples</code></em> must be 0.  Otherwise, <em class="parameter"><code>samples</code></em> must be must be less than or equal to 
			the maximum number of samples supported for <em class="parameter"><code>internalformat</code></em>. 
			(see <a class="citerefentry" href="glGetInternalFormativ.xml"><span class="citerefentry"><span class="refentrytitle">glGetInternalFormativ</span></span></a>).
        </p><p>
            Upon success, <code class="function">glRenderbufferStorageMultisample</code> deletes any existing data store for the renderbuffer
            image and the contents of the data store after calling <code class="function">glRenderbufferStorageMultisample</code> are undefined.
        </p><p>
            </p><div class="table"><a id="idp10034128"></a><p class="title"><b>Table 1. Sized Internal Formats</b></p><div class="table-contents"><table summary="Sized Internal Formats" border="1"><colgroup><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /><col align="center" /></colgroup><thead><tr><th align="center"><span class="bold"><strong>
            Sized Internal Format
            </strong></span></th><th align="center"><span class="bold"><strong>
            Base Format
            </strong></span></th><th align="center"><span class="bold"><strong>
            Red Bits
            </strong></span></th><th align="center"><span class="bold"><strong>
            Green Bits
            </strong></span></th><th align="center"><span class="bold"><strong>
            Blue Bits
            </strong></span></th><th align="center"><span class="bold"><strong>
            Alpha Bits
            </strong></span></th></tr></thead><tbody><tr><td align="center"><code class="constant">GL_R8</code></td><td align="center"><code class="constant">GL_RED</code></td><td align="center">8</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_R8UI</code></td><td align="center"><code class="constant">GL_RED_INTEGER</code></td><td align="center">ui8</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_R8I</code></td><td align="center"><code class="constant">GL_RED_INTEGER</code></td><td align="center">i8</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_R16UI</code></td><td align="center"><code class="constant">GL_RED_INTEGER</code></td><td align="center">ui16</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_R16I</code></td><td align="center"><code class="constant">GL_RED_INTEGER</code></td><td align="center">i16</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_R32UI</code></td><td align="center"><code class="constant">GL_RED_INTEGER</code></td><td align="center">ui32</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_R32I</code></td><td align="center"><code class="constant">GL_RED_INTEGER</code></td><td align="center">i32</td><td align="center"> </td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG8</code></td><td align="center"><code class="constant">GL_RG</code></td><td align="center">8</td><td align="center">8</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG8UI</code></td><td align="center"><code class="constant">GL_RG_INTEGER</code></td><td align="center">ui8</td><td align="center">ui8</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG8I</code></td><td align="center"><code class="constant">GL_RG_INTEGER</code></td><td align="center">i8</td><td align="center">i8</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG16UI</code></td><td align="center"><code class="constant">GL_RG_INTEGER</code></td><td align="center">ui16</td><td align="center">ui16</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG16I</code></td><td align="center"><code class="constant">GL_RG_INTEGER</code></td><td align="center">i16</td><td align="center">i16</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG32UI</code></td><td align="center"><code class="constant">GL_RG_INTEGER</code></td><td align="center">ui32</td><td align="center">ui32</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RG32I</code></td><td align="center"><code class="constant">GL_RG_INTEGER</code></td><td align="center">i32</td><td align="center">i32</td><td align="center"> </td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RGB8</code></td><td align="center"><code class="constant">GL_RGB</code></td><td align="center">8</td><td align="center">8</td><td align="center">8</td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RGB565</code></td><td align="center"><code class="constant">GL_RGB</code></td><td align="center">5</td><td align="center">6</td><td align="center">5</td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_RGBA8</code></td><td align="center"><code class="constant">GL_RGBA</code></td><td align="center">8</td><td align="center">8</td><td align="center">8</td><td align="center">8</td></tr><tr><td align="center"><code class="constant">GL_SRGB8_ALPHA8</code></td><td align="center"><code class="constant">GL_RGBA</code></td><td align="center">8</td><td align="center">8</td><td align="center">8</td><td align="center">8</td></tr><tr><td align="center"><code class="constant">GL_RGB5_A1</code></td><td align="center"><code class="constant">GL_RGBA</code></td><td align="center">5</td><td align="center">5</td><td align="center">5</td><td align="center">1</td></tr><tr><td align="center"><code class="constant">GL_RGBA4</code></td><td align="center"><code class="constant">GL_RGBA</code></td><td align="center">4</td><td align="center">4</td><td align="center">4</td><td align="center">4</td></tr><tr><td align="center"><code class="constant">GL_RGB10_A2</code></td><td align="center"><code class="constant">GL_RGBA</code></td><td align="center">10</td><td align="center">10</td><td align="center">10</td><td align="center">2</td></tr><tr><td align="center"><code class="constant">GL_RGBA8UI</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">ui8</td><td align="center">ui8</td><td align="center">ui8</td><td align="center">ui8</td></tr><tr><td align="center"><code class="constant">GL_RGBA8I</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">i8</td><td align="center">i8</td><td align="center">i8</td><td align="center">i8</td></tr><tr><td align="center"><code class="constant">GL_RGB10_A2UI</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">ui10</td><td align="center">ui10</td><td align="center">ui10</td><td align="center">ui2</td></tr><tr><td align="center"><code class="constant">GL_RGBA16UI</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">ui16</td><td align="center">ui16</td><td align="center">ui16</td><td align="center">ui16</td></tr><tr><td align="center"><code class="constant">GL_RGBA16I</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">i16</td><td align="center">i16</td><td align="center">i16</td><td align="center">i16</td></tr><tr><td align="center"><code class="constant">GL_RGBA32I</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">i32</td><td align="center">i32</td><td align="center">i32</td><td align="center">i32</td></tr><tr><td align="center"><code class="constant">GL_RGBA32UI</code></td><td align="center"><code class="constant">GL_RGBA_INTEGER</code></td><td align="center">ui32</td><td align="center">ui32</td><td align="center">ui32</td><td align="center">ui32</td></tr></tbody></table><p></p><table summary="Sized Internal Formats" border="1"><colgroup><col align="center" /><col align="center" /><col align="center" /><col align="center" /></colgroup><thead><tr><th align="center"><span class="bold"><strong>
            Sized Internal Format
            </strong></span></th><th align="center"><span class="bold"><strong>
            Base Format
            </strong></span></th><th align="center"><span class="bold"><strong>
            Depth Bits
            </strong></span></th><th align="center"><span class="bold"><strong>
            Stencil Bits
            </strong></span></th></tr></thead><tbody><tr><td align="center"><code class="constant">GL_DEPTH_COMPONENT16</code></td><td align="center"><code class="constant">GL_DEPTH_COMPONENT</code></td><td align="center">16</td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_DEPTH_COMPONENT24</code></td><td align="center"><code class="constant">GL_DEPTH_COMPONENT</code></td><td align="center">24</td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_DEPTH_COMPONENT32F</code></td><td align="center"><code class="constant">GL_DEPTH_COMPONENT</code></td><td align="center">f32</td><td align="center"> </td></tr><tr><td align="center"><code class="constant">GL_DEPTH24_STENCIL8</code></td><td align="center"><code class="constant">GL_DEPTH_STENCIL</code></td><td align="center">24</td><td align="center">8</td></tr><tr><td align="center"><code class="constant">GL_DEPTH32F_STENCIL8</code></td><td align="center"><code class="constant">GL_DEPTH_STENCIL</code></td><td align="center">f32</td><td align="center">8</td></tr><tr><td align="center"><code class="constant">GL_STENCIL_INDEX8</code></td><td align="center"><code class="constant">GL_STENCIL</code></td><td align="center"> </td><td align="center">8</td></tr></tbody></table></div></div><p><br class="table-break" />
        </p></div><div class="refsect1" title="Notes"><a id="notes"></a><h2>Notes</h2><p>
            Since different implementations may support different sample counts for multisample
			rendering, the actual number of samples allocated for the renderbuffer image is
			implementation-dependent. However, the resulting value for <code class="constant">GL_RENDERBUFFER_SAMPLES</code>
			is guaranteed to be greater than or equal to <em class="parameter"><code>samples</code></em> and no more than the
			next larger sample count supported by the implementation.
        </p></div><div class="refsect1" title="Errors"><a id="errors"></a><h2>Errors</h2><p>
            <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>target</code></em> is not <code class="constant">GL_RENDERBUFFER</code>.
        </p><p>
            <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>samples</code></em> is greater than the maximum number of samples
			supported for <em class="parameter"><code>internalformat</code></em>.
        </p><p>
            <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>internalformat</code></em> is not a color-renderable, depth-renderable,
            or stencil-renderable format.
        </p><p>
            <code class="constant">GL_INVALID_OPERATION</code> is generated if <em class="parameter"><code>internalformat</code></em> is a signed or unsigned integer format
            and <em class="parameter"><code>samples</code></em> is greater than 0.
        </p><p>
            <code class="constant">GL_INVALID_VALUE</code> is generated if either of <em class="parameter"><code>width</code></em> or <em class="parameter"><code>height</code></em> is negative,
            or greater than the value of <code class="constant">GL_MAX_RENDERBUFFER_SIZE</code>.
        </p><p>
            <code class="constant">GL_OUT_OF_MEMORY</code> is generated if the GL is unable to create a data store of the requested size.
        </p></div><div class="refsect1" title="See Also"><a id="seealso"></a><h2>See Also</h2><p>
            <a class="citerefentry" href="glGenRenderbuffers.xml"><span class="citerefentry"><span class="refentrytitle">glGenRenderbuffers</span></span></a>,
			<a class="citerefentry" href="glGetInternalFormativ.xml"><span class="citerefentry"><span class="refentrytitle">glGetInternalFormativ</span></span></a>,
            <a class="citerefentry" href="glBindRenderbuffer.xml"><span class="citerefentry"><span class="refentrytitle">glBindRenderbuffer</span></span></a>,
            <a class="citerefentry" href="glRenderbufferStorage.xml"><span class="citerefentry"><span class="refentrytitle">glRenderbufferStorage</span></span></a>,
            <a class="citerefentry" href="glFramebufferRenderbuffer.xml"><span class="citerefentry"><span class="refentrytitle">glFramebufferRenderbuffer</span></span></a>,
            <a class="citerefentry" href="glDeleteRenderbuffers.xml"><span class="citerefentry"><span class="refentrytitle">glDeleteRenderbuffers</span></span></a>
        </p></div><div class="refsect1" title="Copyright"><a id="Copyright"></a><h2>Copyright</h2><p>
            Copyright <span class="trademark"></span>© 2010-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.
            <a class="ulink" href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
        </p></div></div></body></html>
