version 3.3

VRS::GL2::ProgramObject Class Reference

#include <vrs/opengl/gl2/programobject.h>

Inheritance diagram for VRS::GL2::ProgramObject:

VRS::MonoAttribute VRS::Attribute VRS::RenderObj VRS::SharedObj VRS::Visitable

List of all members.

Public Types

enum  VariablesType { Uniforms, Attributes }

Public Member Functions

 VRS_TYPEINFO (ProgramObject, MonoAttribute)
 VRS_SERIALIZABLE (ProgramObject)
 ProgramObject ()
bool operator== (const ProgramObject &other) const
virtual bool attach (SO< ShaderObject > shader)
virtual bool detach (SO< ShaderObject > shader)
 Attach and detach shader objects.
virtual SO< Iterator< SO
< ShaderObject > > > 
attachedShaders () const
 Retrieve existing shader objects.
virtual SO< VariablesMappingmapping (VariablesType variablesType) const
virtual SO< Iterator
< std::string > > 
querySamplerNames () const
virtual bool isActive () const
virtual void activate (bool s)
 Active or incative shader.
virtual TransactionNo getLastUpdate () const
virtual void setLastUpdate (TransactionNo last)
 For internal use only. Check last modification.


Detailed Description

A shader program replaces the fixed functional rendering pipeline of OpenGL by a shader written in the OpenGl Shading Language.

Member Enumeration Documentation

Enumerator:
Uniforms 
Attributes 


Constructor & Destructor Documentation

VRS::GL2::ProgramObject::ProgramObject (  ) 

Each shader program contains one or more shader objects that get compiled and linked to it. Typically, two shader objects exist in a single shader program, one vertex shader and one fragment shader. If only one has been provided the shader program links to the fixed functional rendering pipeline.


Member Function Documentation

VRS::GL2::ProgramObject::VRS_TYPEINFO ( ProgramObject  ,
MonoAttribute   
)

VRS::GL2::ProgramObject::VRS_SERIALIZABLE ( ProgramObject   ) 

bool VRS::GL2::ProgramObject::operator== ( const ProgramObject other  )  const

virtual bool VRS::GL2::ProgramObject::attach ( SO< ShaderObject shader  )  [virtual]

virtual bool VRS::GL2::ProgramObject::detach ( SO< ShaderObject shader  )  [virtual]

Attach and detach shader objects.

virtual SO<Iterator<SO<ShaderObject> > > VRS::GL2::ProgramObject::attachedShaders (  )  const [virtual]

Retrieve existing shader objects.

virtual SO<VariablesMapping> VRS::GL2::ProgramObject::mapping ( VariablesType  variablesType  )  const [virtual]

After compiling shader objects we retreive the handles and variable names of the them to check consistency when using variables, e.g., uniform variables, and to determine the location to plug in the variable correctly.

virtual SO<Iterator<std::string> > VRS::GL2::ProgramObject::querySamplerNames (  )  const [virtual]

virtual bool VRS::GL2::ProgramObject::isActive (  )  const [virtual]

virtual void VRS::GL2::ProgramObject::activate ( bool  s  )  [virtual]

Active or incative shader.

virtual TransactionNo VRS::GL2::ProgramObject::getLastUpdate (  )  const [virtual]

virtual void VRS::GL2::ProgramObject::setLastUpdate ( TransactionNo  last  )  [virtual]

For internal use only. Check last modification.


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

Generated on Mon May 21 06:00:32 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact