glRenderbufferStorage

From OpenGL Reference
Jump to navigation Jump to search

Establish data storage, format and dimensions of a

   renderbuffer object's image.

C Specification[edit]

void glRenderbufferStorage( GLenum target, GLenum internalformat, GLsizei width, GLsizei height );
void glNamedRenderbufferStorage( GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height );


Parameters[edit]

target - Specifies a binding target of the allocation for glRenderbufferStorage function. Must be GL_RENDERBUFFER .
renderbuffer - Specifies the name of the renderbuffer object for glNamedRenderbufferStorage function.
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[edit]

 glRenderbufferStorage is equivalent to calling glRenderbufferStorageMultisample with the samples set to zero, and glNamedRenderbufferStorage is equivalent to calling glNamedRenderbufferStorageMultisample with the samples set to zero.

For glRenderbufferStorage , the target of the operation, specified by target must be GL_RENDERBUFFER . For glNamedRenderbufferStorage , renderbuffer must be a name of an existing renderbuffer object. 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. 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 .

Upon success, glRenderbufferStorage and glNamedRenderbufferStorage delete any existing data store for the renderbuffer image and the contents of the data store after calling glRenderbufferStorage are undefined.


Errors[edit]

 GL_INVALID_ENUM is generated by glRenderbufferStorage if target is not GL_RENDERBUFFER .

 GL_INVALID_OPERATION is generated by glNamedRenderbufferStorage if renderbuffer is not the name of an existing renderbuffer object.

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

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

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


Version Support[edit]

 glNamedRenderbufferStorage  4.5+
 glRenderbufferStorage  3.0+

See Also[edit]

 glGenRenderbuffers , glBindRenderbuffer , glNamedRenderbufferStorageMultisample , glRenderbufferStorageMultisample , glFramebufferRenderbuffer , glDeleteRenderbuffers 


Copyright[edit]

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/.