globjects  1.0.0.000000000000
Strict OpenGL objects wrapper.

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

Inheritance diagram for globjects::ProgramPipeline:
globjects::Object globjects::ChangeListener globjects::Referenced globjects::HeapOnly

Public Member Functions

 ProgramPipeline ()
 
virtual ~ProgramPipeline ()
 
virtual void accept (ObjectVisitor &visitor) override
 
void use () const
 
void useStages (Program *program, gl::UseProgramStageMask stages)
 
void releaseStages (gl::UseProgramStageMask stages)
 
void releaseProgram (Program *program)
 
bool isValid () const
 
void validate () const
 
bool checkUseStatus () const
 
std::string infoLog () const
 
gl::GLint get (gl::GLenum pname) const
 
virtual void notifyChanged (const Changeable *sender) override
 
virtual gl::GLenum objectType () const override
 
- Public Member Functions inherited from globjects::Object
virtual void accept (ObjectVisitor &visitor)=0
 
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 ()
 
- Public Member Functions inherited from globjects::Referenced
 Referenced ()
 
void ref () const
 
void unref () const
 
int refCounter () const
 
- Public Member Functions inherited from globjects::HeapOnly
 HeapOnly ()
 
void destroy () const
 

Static Public Member Functions

static void release ()
 
- Static Public Member Functions inherited from globjects::Object
static void hintNameImplementation (NameImplementation impl)
 

Protected Member Functions

void invalidate ()
 
- Protected Member Functions inherited from globjects::Object
 Object (IDResource *resource)
 
virtual ~Object ()
 
- Protected Member Functions inherited from globjects::Referenced
virtual ~Referenced ()
 
- Protected Member Functions inherited from globjects::HeapOnly
virtual ~HeapOnly ()
 
- Protected Member Functions inherited from globjects::ChangeListener
virtual ~ChangeListener ()
 
virtual void notifyChanged (const Changeable *sender)
 

Protected Attributes

bool m_dirty
 
std::set< ref_ptr< Program > > m_programs
 
- Protected Attributes inherited from globjects::Object
IDResource * m_resource
 
void * m_objectLabelState
 

Additional Inherited Members

- Public Types inherited from globjects::Object
enum class  NameImplementation { DebugKHR , Legacy }
 

Constructor & Destructor Documentation

◆ ProgramPipeline()

globjects::ProgramPipeline::ProgramPipeline ( )

◆ ~ProgramPipeline()

virtual globjects::ProgramPipeline::~ProgramPipeline ( )
virtual

Member Function Documentation

◆ accept()

virtual void globjects::ProgramPipeline::accept ( ObjectVisitor visitor)
overridevirtual

Implements globjects::Object.

◆ use()

void globjects::ProgramPipeline::use ( ) const

◆ release()

static void globjects::ProgramPipeline::release ( )
static

◆ useStages()

void globjects::ProgramPipeline::useStages ( Program program,
gl::UseProgramStageMask  stages 
)

◆ releaseStages()

void globjects::ProgramPipeline::releaseStages ( gl::UseProgramStageMask  stages)

◆ releaseProgram()

void globjects::ProgramPipeline::releaseProgram ( Program program)

◆ isValid()

bool globjects::ProgramPipeline::isValid ( ) const

◆ validate()

void globjects::ProgramPipeline::validate ( ) const

◆ checkUseStatus()

bool globjects::ProgramPipeline::checkUseStatus ( ) const

◆ infoLog()

std::string globjects::ProgramPipeline::infoLog ( ) const

◆ get()

gl::GLint globjects::ProgramPipeline::get ( gl::GLenum  pname) const

◆ notifyChanged()

virtual void globjects::ProgramPipeline::notifyChanged ( const Changeable sender)
overridevirtual

Reimplemented from globjects::ChangeListener.

◆ objectType()

virtual gl::GLenum globjects::ProgramPipeline::objectType ( ) const
overridevirtual

Implements globjects::Object.

◆ invalidate()

void globjects::ProgramPipeline::invalidate ( )
protected

Member Data Documentation

◆ m_dirty

bool globjects::ProgramPipeline::m_dirty
protected

◆ m_programs

std::set<ref_ptr<Program> > globjects::ProgramPipeline::m_programs
protected

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