UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
GlBuffer Class Reference

#include <opengl_utils.hpp>

Collaboration diagram for GlBuffer:
Collaboration graph

Public Member Functions

 GlBuffer ()
 
 GlBuffer (const GlBuffer &)=delete
 
 GlBuffer (GlBuffer &&o)
 
 ~GlBuffer ()
 
GLuint get ()
 
GlBuffer & operator= (const GlBuffer &)=delete
 
GlBuffer & operator= (GlBuffer &&o)
 

Private Member Functions

void swap (GlBuffer &o)
 

Private Attributes

GLuint buf_id = 0
 

Detailed Description

RAII wrapper for OpenGL buffer object

Definition at line 258 of file opengl_utils.hpp.

Constructor & Destructor Documentation

◆ GlBuffer() [1/3]

GlBuffer::GlBuffer ( )
inline

Constructs a new OpenGL buffer

Definition at line 263 of file opengl_utils.hpp.

263 {
264 glGenBuffers(1, &buf_id);
265 }
GLuint buf_id

References buf_id.

◆ ~GlBuffer()

GlBuffer::~GlBuffer ( )
inline

Definition at line 267 of file opengl_utils.hpp.

267 {
268 glDeleteBuffers(1, &buf_id);
269 }

References buf_id.

◆ GlBuffer() [2/3]

GlBuffer::GlBuffer ( const GlBuffer & )
delete

◆ GlBuffer() [3/3]

GlBuffer::GlBuffer ( GlBuffer && o)
inline

Definition at line 279 of file opengl_utils.hpp.

279{ swap(o); }
void swap(GlBuffer &o)

References swap().

Here is the call graph for this function:

Member Function Documentation

◆ get()

GLuint GlBuffer::get ( )
inline

Returns the underlying OpenGL buffer

Definition at line 274 of file opengl_utils.hpp.

274 {
275 return buf_id;
276 }

References buf_id.

Referenced by allocate_frame(), delete_frame(), and recycle_frame().

◆ operator=() [1/2]

GlBuffer & GlBuffer::operator= ( const GlBuffer & )
delete

◆ operator=() [2/2]

GlBuffer & GlBuffer::operator= ( GlBuffer && o)
inline

Definition at line 281 of file opengl_utils.hpp.

281{ swap(o); return *this; }

References swap().

Here is the call graph for this function:

◆ swap()

void GlBuffer::swap ( GlBuffer & o)
inlineprivate

Definition at line 284 of file opengl_utils.hpp.

284 {
285 std::swap(buf_id, o.buf_id);
286 }

References buf_id.

Referenced by GlBuffer(), and operator=().

Member Data Documentation

◆ buf_id

GLuint GlBuffer::buf_id = 0
private

Definition at line 288 of file opengl_utils.hpp.

Referenced by GlBuffer(), ~GlBuffer(), get(), and swap().


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