Skip to content

Class RenderBuffer

ClassList > RenderBuffer

OpenGL renderbuffer object wrapper with RAII semantics. More...

  • #include <RenderBuffer.h>

Public Functions

Type Name
void BindRenderBuffer () const
GLuint GetRenderBufferID () const
RenderBuffer ()
RenderBuffer (GLuint _type)
RenderBuffer (const RenderBuffer & rb)
Copy constructor. Allocates a new renderbuffer with the same format/size.
RenderBuffer (RenderBuffer && rb) noexcept
Move constructor. Transfers ownership; rb is left empty.
void Resize (GLuint w, GLuint h)
void Resize (const glm::vec2 & size)
void UnbindRenderBuffer () const
RenderBuffer & operator= (const RenderBuffer & rb)
Copy assignment. Allocates a new renderbuffer with the same format/size.
RenderBuffer & operator= (RenderBuffer && rb) noexcept
Move assignment. Transfers ownership; rb is left empty.
~RenderBuffer ()

Detailed Description

RenderBuffer encapsulates a GL renderbuffer (glGenRenderbuffers) used as a depth/stencil attachment in FrameBuffer. Tracks the storage format and dimensions so that copy semantics can recreate an equivalent renderbuffer without sharing the same GL object ID.

Copy semantics (deep copy): * A new renderbuffer is allocated with the same format and current size.

Move semantics: * Ownership is transferred; source rb_ID is zeroed.

Note:

GPU Resource Ownership: Owns rb_ID, released via glDeleteRenderbuffers in destructor.

Public Functions Documentation

function BindRenderBuffer

void RenderBuffer::BindRenderBuffer () const

function GetRenderBufferID

inline GLuint RenderBuffer::GetRenderBufferID () const

function RenderBuffer [1/4]

RenderBuffer::RenderBuffer () 

function RenderBuffer [2/4]

RenderBuffer::RenderBuffer (
    GLuint _type
) 

function RenderBuffer [3/4]

Copy constructor. Allocates a new renderbuffer with the same format/size.

RenderBuffer::RenderBuffer (
    const RenderBuffer & rb
) 

Parameters:

  • rb Source renderbuffer.

function RenderBuffer [4/4]

Move constructor. Transfers ownership; rb is left empty.

RenderBuffer::RenderBuffer (
    RenderBuffer && rb
) noexcept

Parameters:

  • rb Source renderbuffer (invalidated after move).

function Resize [1/2]

void RenderBuffer::Resize (
    GLuint w,
    GLuint h
) 

function Resize [2/2]

void RenderBuffer::Resize (
    const glm::vec2 & size
) 

function UnbindRenderBuffer

void RenderBuffer::UnbindRenderBuffer () const

function operator=

Copy assignment. Allocates a new renderbuffer with the same format/size.

RenderBuffer & RenderBuffer::operator= (
    const RenderBuffer & rb
) 

Parameters:

  • rb Source renderbuffer.

Returns:

Reference to this.


function operator=

Move assignment. Transfers ownership; rb is left empty.

RenderBuffer & RenderBuffer::operator= (
    RenderBuffer && rb
) noexcept

Parameters:

  • rb Source renderbuffer (invalidated after move).

Returns:

Reference to this.


function ~RenderBuffer

RenderBuffer::~RenderBuffer () 


The documentation for this class was generated from the following file src/render/buffers/RenderBuffer.h