2010-2014
Khronos Group
glRenderbufferStorageMultisample
3G

# glRenderbufferStorageMultisample

establish data storage, format, dimensions and sample count of a renderbuffer object's image

## C Specification

                    void glRenderbufferStorageMultisample
                    GLenum target
                    GLsizei samples
                    GLenum internalformat
                    GLsizei width
                    GLsizei height

## Parameters

`target`

  Specifies a binding to which the target of the allocation and must be `GL_RENDERBUFFER`.

`samples`

  Specifies the number of samples to be used for the renderbuffer object's storage.

`internalformat`

  Specifies the internal format to use for the renderbuffer object's image.

`width`

  Specifies the width of the renderbuffer, in pixels.

`height`

  Specifies the height of the renderbuffer, in pixels.

## Description

`glRenderbufferStorageMultisample` establishes the data storage, format, dimensions and number of samples of a renderbuffer object's image.

The target of the operation, specified by `target` must be `GL_RENDERBUFFER`. `internalformat` 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. `width` and `height` are the dimensions, in pixels, of the renderbuffer. Both `width` and `height` must be less than or equal to the value of `GL_MAX_RENDERBUFFER_SIZE`. `samples` specifies the number of samples to be used for the renderbuffer object's image. If `internalformat` is a signed or unsigned integer format then `samples` must be 0. Otherwise, `samples` must be must be less than or equal to the maximum number of samples supported for `internalformat`. (see glGetInternalformativ).

Upon success, `glRenderbufferStorageMultisample` deletes any existing data store for the renderbuffer image and the contents of the data store after calling `glRenderbufferStorageMultisample` are undefined.

## Notes

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 `GL_RENDERBUFFER_SAMPLES` is guaranteed to be greater than or equal to `samples` and no more than the next larger sample count supported by the implementation.

## Errors

`GL_INVALID_ENUM` is generated if `target` is not `GL_RENDERBUFFER`.

`GL_INVALID_VALUE` is generated if `samples` is greater than the maximum number of samples supported for `internalformat`.

`GL_INVALID_ENUM` is generated if `internalformat` is not a color-renderable, depth-renderable, or stencil-renderable format.

`GL_INVALID_OPERATION` is generated if `internalformat` is a signed or unsigned integer format and `samples` is greater than 0.

`GL_INVALID_VALUE` is generated if either of `width` or `height` is negative, or greater than the value of `GL_MAX_RENDERBUFFER_SIZE`.

`GL_OUT_OF_MEMORY` is generated if the GL is unable to create a data store of the requested size.

## API Version Support

glRenderbufferStorageMultisample

## See Also

glGenRenderbuffers, glGetInternalformativ, glBindRenderbuffer, glRenderbufferStorage, glFramebufferRenderbuffer, glDeleteRenderbuffers

## Copyright

Copyright 2010-2014 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. http://opencontent.org/openpub/.