Saturday, October 8, 2016

API: glRenderbufferStorage -- create and initialize a renderbuffer object's data store.

[References]
1. "glRenderbufferStorage, from ..."

glRenderbufferStorage

  • glRenderbufferStorage, glNamedRenderbufferStorage establish data storage, format and dimensions of a renderbuffer object's image

C Specification

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

Parameters

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

  • 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
  • ForglNamedRenderbufferStoragerenderbuffer 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 ofGL_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

  • 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

OpenGL Version
Function / Feature Name2.02.13.03.13.23.34.04.14.24.34.44.5
glNamedRenderbufferStorage-----------
glRenderbufferStorage--
...

...

No comments:

Post a Comment