Class 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:
rbSource renderbuffer.
function RenderBuffer [4/4]
Move constructor. Transfers ownership; rb is left empty.
RenderBuffer::RenderBuffer (
RenderBuffer && rb
) noexcept
Parameters:
rbSource 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:
rbSource renderbuffer.
Returns:
Reference to this.
function operator=
Move assignment. Transfers ownership; rb is left empty.
RenderBuffer & RenderBuffer::operator= (
RenderBuffer && rb
) noexcept
Parameters:
rbSource 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