CGVIS Utils
Loading...
Searching...
No Matches
GLFramebuffer Class Reference

#include <GLFramebuffer.h>

Public Member Functions

 GLFramebuffer ()
 Create a new framebuffer object (glGenFramebuffers).
 ~GLFramebuffer ()
 Destroy the framebuffer (glDeleteFramebuffers).
const GLuint getId () const
 Retrieve the OpenGL framebuffer object name.
void bind (const GLDepthTexture &d)
 Bind only a depth texture (no color attachments; draw buffer = NONE).
void bind (const GLTexture2D &t, const GLDepthTexture &d)
 Bind one 2D color texture plus a depth texture.
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLDepthTexture &d)
 Bind two 2D color textures plus a depth texture.
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLTexture2D &t2, const GLDepthTexture &d)
 Bind three 2D color textures plus a depth texture.
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLTexture2D &t2, const GLTexture2D &t3, const GLDepthTexture &d)
 Bind four 2D color textures plus a depth texture.
void bind (const GLTexture2D &t, const GLDepthBuffer &d)
 Bind one 2D color texture plus a depth renderbuffer.
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLDepthBuffer &d)
 Bind two 2D color textures plus a depth renderbuffer.
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLTexture2D &t2, const GLDepthBuffer &d)
 Bind three 2D color textures plus a depth renderbuffer.
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLTexture2D &t2, const GLTexture2D &t3, const GLDepthBuffer &d)
 Bind four 2D color textures plus a depth renderbuffer.
void bind (const GLTexture2D &t)
 Bind one 2D color texture (no depth).
void bind (const GLTexture2D &t0, const GLTexture2D &t1)
 Bind two 2D color textures (no depth).
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLTexture2D &t2)
 Bind three 2D color textures (no depth).
void bind (const GLTexture2D &t0, const GLTexture2D &t1, const GLTexture2D &t2, const GLTexture2D &t3)
 Bind four 2D color textures (no depth).
void bind (const GLTexture3D &t, size_t slice, const GLDepthBuffer &d)
 Bind one slice from a 3D texture plus a depth renderbuffer.
void bind (const GLTexture3D &t0, size_t slice0, const GLTexture3D &t1, size_t slice1, const GLDepthBuffer &d)
 Bind two slices from 3D textures plus a depth renderbuffer.
void bind (const GLTexture3D &t0, size_t slice0, const GLTexture3D &t1, size_t slice1, const GLTexture3D &t2, size_t slice2, const GLDepthBuffer &d)
 Bind three slices from 3D textures plus a depth renderbuffer.
void bind (const GLTexture3D &t0, size_t slice0, const GLTexture3D &t1, size_t slice1, const GLTexture3D &t2, size_t slice2, const GLTexture3D &t3, size_t slice3, const GLDepthBuffer &d)
 Bind four slices from 3D textures plus a depth renderbuffer.
void bind (const GLTexture3D &t, size_t slice)
 Bind one slice from a 3D texture (no depth).
void bind (const GLTexture3D &t0, size_t slice0, const GLTexture3D &t1, size_t slice1)
 Bind two slices from 3D textures (no depth).
void bind (const GLTexture3D &t0, size_t slice0, const GLTexture3D &t1, size_t slice1, const GLTexture3D &t2, size_t slice2)
 Bind three slices from 3D textures (no depth).
void bind (const GLTexture3D &t0, size_t slice0, const GLTexture3D &t1, size_t slice1, const GLTexture3D &t2, size_t slice2, const GLTexture3D &t3, size_t slice3)
 Bind four slices from 3D textures (no depth).
void unbind2D ()
 Detach 2D color attachments and unbind the FBO.
void unbind3D ()
 Detach 3D color/depth attachments and unbind the FBO.
bool checkBinding () const
 Check whether the currently bound FBO is complete.

Constructor & Destructor Documentation

◆ GLFramebuffer()

GLFramebuffer::GLFramebuffer ( )

Create a new framebuffer object (glGenFramebuffers).

◆ ~GLFramebuffer()

GLFramebuffer::~GLFramebuffer ( )

Destroy the framebuffer (glDeleteFramebuffers).

Member Function Documentation

◆ bind() [1/21]

void GLFramebuffer::bind ( const GLDepthTexture & d)

Bind only a depth texture (no color attachments; draw buffer = NONE).

Here is the call graph for this function:

◆ bind() [2/21]

void GLFramebuffer::bind ( const GLTexture2D & t)

Bind one 2D color texture (no depth).

Here is the call graph for this function:

◆ bind() [3/21]

void GLFramebuffer::bind ( const GLTexture2D & t,
const GLDepthBuffer & d )

Bind one 2D color texture plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [4/21]

void GLFramebuffer::bind ( const GLTexture2D & t,
const GLDepthTexture & d )

Bind one 2D color texture plus a depth texture.

Here is the call graph for this function:

◆ bind() [5/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1 )

Bind two 2D color textures (no depth).

Here is the call graph for this function:

◆ bind() [6/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLDepthBuffer & d )

Bind two 2D color textures plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [7/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLDepthTexture & d )

Bind two 2D color textures plus a depth texture.

Here is the call graph for this function:

◆ bind() [8/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLTexture2D & t2 )

Bind three 2D color textures (no depth).

Here is the call graph for this function:

◆ bind() [9/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLTexture2D & t2,
const GLDepthBuffer & d )

Bind three 2D color textures plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [10/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLTexture2D & t2,
const GLDepthTexture & d )

Bind three 2D color textures plus a depth texture.

Here is the call graph for this function:

◆ bind() [11/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLTexture2D & t2,
const GLTexture2D & t3 )

Bind four 2D color textures (no depth).

Here is the call graph for this function:

◆ bind() [12/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLTexture2D & t2,
const GLTexture2D & t3,
const GLDepthBuffer & d )

Bind four 2D color textures plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [13/21]

void GLFramebuffer::bind ( const GLTexture2D & t0,
const GLTexture2D & t1,
const GLTexture2D & t2,
const GLTexture2D & t3,
const GLDepthTexture & d )

Bind four 2D color textures plus a depth texture.

Here is the call graph for this function:

◆ bind() [14/21]

void GLFramebuffer::bind ( const GLTexture3D & t,
size_t slice )

Bind one slice from a 3D texture (no depth).

Here is the call graph for this function:

◆ bind() [15/21]

void GLFramebuffer::bind ( const GLTexture3D & t,
size_t slice,
const GLDepthBuffer & d )

Bind one slice from a 3D texture plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [16/21]

void GLFramebuffer::bind ( const GLTexture3D & t0,
size_t slice0,
const GLTexture3D & t1,
size_t slice1 )

Bind two slices from 3D textures (no depth).

Here is the call graph for this function:

◆ bind() [17/21]

void GLFramebuffer::bind ( const GLTexture3D & t0,
size_t slice0,
const GLTexture3D & t1,
size_t slice1,
const GLDepthBuffer & d )

Bind two slices from 3D textures plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [18/21]

void GLFramebuffer::bind ( const GLTexture3D & t0,
size_t slice0,
const GLTexture3D & t1,
size_t slice1,
const GLTexture3D & t2,
size_t slice2 )

Bind three slices from 3D textures (no depth).

Here is the call graph for this function:

◆ bind() [19/21]

void GLFramebuffer::bind ( const GLTexture3D & t0,
size_t slice0,
const GLTexture3D & t1,
size_t slice1,
const GLTexture3D & t2,
size_t slice2,
const GLDepthBuffer & d )

Bind three slices from 3D textures plus a depth renderbuffer.

Here is the call graph for this function:

◆ bind() [20/21]

void GLFramebuffer::bind ( const GLTexture3D & t0,
size_t slice0,
const GLTexture3D & t1,
size_t slice1,
const GLTexture3D & t2,
size_t slice2,
const GLTexture3D & t3,
size_t slice3 )

Bind four slices from 3D textures (no depth).

Here is the call graph for this function:

◆ bind() [21/21]

void GLFramebuffer::bind ( const GLTexture3D & t0,
size_t slice0,
const GLTexture3D & t1,
size_t slice1,
const GLTexture3D & t2,
size_t slice2,
const GLTexture3D & t3,
size_t slice3,
const GLDepthBuffer & d )

Bind four slices from 3D textures plus a depth renderbuffer.

Here is the call graph for this function:

◆ checkBinding()

bool GLFramebuffer::checkBinding ( ) const

Check whether the currently bound FBO is complete.

Returns
true if glCheckFramebufferStatus(...) == GL_FRAMEBUFFER_COMPLETE.

◆ getId()

const GLuint GLFramebuffer::getId ( ) const

Retrieve the OpenGL framebuffer object name.

Returns
GLuint name of the managed FBO.

◆ unbind2D()

void GLFramebuffer::unbind2D ( )

Detach 2D color attachments and unbind the FBO.

◆ unbind3D()

void GLFramebuffer::unbind3D ( )

Detach 3D color/depth attachments and unbind the FBO.


The documentation for this class was generated from the following files: