globjects  2.0.0.4363356ae2ef
Strict OpenGL objects wrapper.
Loading...
Searching...
No Matches

Superclass of all wrapped OpenGL objects. More...

#include <globjects/include/globjects/Object.h>

Inheritance diagram for globjects::Object:
globjects::Buffer globjects::Framebuffer globjects::Program globjects::ProgramPipeline globjects::Query globjects::Renderbuffer globjects::Sampler globjects::Shader globjects::Texture globjects::TransformFeedback globjects::VertexArray

Public Types

enum class  NameImplementation { Legacy , DebugKHR }
 

Public Member Functions

gl::GLuint id () const
 
std::string name () const
 
void setName (const std::string &name)
 
bool hasName () const
 
bool isDefault () const
 
virtual gl::GLenum objectType () const =0
 
void detach ()
 

Static Public Member Functions

static void hintNameImplementation (NameImplementation impl)
 

Protected Member Functions

 Object (std::unique_ptr< IDResource > &&resource)
 
virtual ~Object ()
 

Protected Attributes

std::unique_ptr< IDResourcem_resource
 
void * m_objectLabelState
 

Friends

class AbstractObjectNameImplementation
 

Detailed Description

Superclass of all wrapped OpenGL objects.

The superclass is Referenced so that each wrapped OpenGL object supports reference counting. The OpenGL name (id) of the OpenGL resource that was provided in the constructor can be queried using id(). Additionally, an Object can have meaningful name wich can be get and set using name() and setName().

Member Enumeration Documentation

◆ NameImplementation

Enumerator
Legacy 
DebugKHR 

Constructor & Destructor Documentation

◆ Object()

globjects::Object::Object ( std::unique_ptr< IDResource > &&  resource)
protected

◆ ~Object()

virtual globjects::Object::~Object ( )
protectedvirtual

Member Function Documentation

◆ hintNameImplementation()

static void globjects::Object::hintNameImplementation ( NameImplementation  impl)
static

◆ id()

gl::GLuint globjects::Object::id ( ) const

◆ name()

std::string globjects::Object::name ( ) const

◆ setName()

void globjects::Object::setName ( const std::string &  name)

◆ hasName()

bool globjects::Object::hasName ( ) const

◆ isDefault()

bool globjects::Object::isDefault ( ) const

◆ objectType()

◆ detach()

void globjects::Object::detach ( )

unlinks and destroys the associated opengl object

Friends And Related Function Documentation

◆ AbstractObjectNameImplementation

friend class AbstractObjectNameImplementation
friend

Member Data Documentation

◆ m_resource

std::unique_ptr<IDResource> globjects::Object::m_resource
protected

◆ m_objectLabelState

void* globjects::Object::m_objectLabelState
mutableprotected

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