Class GL.GLSLUtils.RenderBuffer

Description

A rendering buffer. This is usually used to do offscreeen-rendering with higher precision, or full-screen special effects such as blur etc. This class is not present if there is no FramebufferTexture2DEXT extention available. To my knowledge all cards with GLSL support also support this feature.


Variable mipmaps
Variable alpha

bool GL.GLSLUtils.RenderBuffer.mipmaps
bool GL.GLSLUtils.RenderBuffer.alpha

Description

Does the RenderBuffer has mipmaps and alpha channel?


Variable db

int GL.GLSLUtils.RenderBuffer.db

Description

The object ID of the depth buffer object, if any. Otherwise -1


Variable fbo

int GL.GLSLUtils.RenderBuffer.fbo

Description

The object ID of the FBO object


Variable internal_format
Variable format

int GL.GLSLUtils.RenderBuffer.internal_format
int GL.GLSLUtils.RenderBuffer.format

Description

The format of the texture object


Variable width
Variable height

int GL.GLSLUtils.RenderBuffer.width
int GL.GLSLUtils.RenderBuffer.height

Description

Width and height, in pixels, of the buffer


Variable texture

int GL.GLSLUtils.RenderBuffer.texture

Description

The object ID of the texture object.


Variable texture_type

int GL.GLSLUtils.RenderBuffer.texture_type

Description

The type of the texture, GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE_ARB typically.


Method create

GL.GLSLUtils.RenderBuffer GL.GLSLUtils.RenderBuffer(int w, int h, int type, bool depth, bool mipmap, bool alpha, int|void internal_format, int|void format)

Description

Create a new render buffer, with the size given by w and h, the texture target will be type (generally speaking GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE_ARB, the latter is needed if the size is not a power of two. This is not checked by the create function)

depth mipmap and alpha specifies if the corresponding extra buffers should be created. mipmap is not supported for GL_TEXTURE_RECTANGLE_ARB

If w or h is 0, the actual texture creation is postponed until resize is called. The buffer will not be valid before it has a size.

If internal_format and format are specified they are used to override the defaults (GL_RGB[A]16F_ARB and GL_RGB[A] respectively)

Setting these also makes the buffer ignore the alpha paramenter.

The mipmap parameter depends on the existance of the glGenerateMipmapEXT extension.