OpenSceneGraph 2.8.3
|
PerContextProgram (PCP) is an OSG-internal encapsulation of glPrograms per-GL context. More...
Public Member Functions | |
PerContextProgram (const Program *program, unsigned int contextID) | |
GLuint | getHandle () const |
void | requestLink () |
void | linkProgram () |
bool | validateProgram () |
bool | needsLink () const |
bool | isLinked () const |
bool | getInfoLog (std::string &infoLog) const |
void | useProgram () const |
void | resetAppliedUniforms () const |
void | apply (const Uniform &uniform) const |
const ActiveVarInfoMap & | getActiveUniforms () const |
const ActiveVarInfoMap & | getActiveAttribs () const |
GLint | getUniformLocation (const std::string &name) const |
GLint | getAttribLocation (const std::string &name) const |
void | addShaderToAttach (Shader *shader) |
void | addShaderToDetach (Shader *shader) |
Protected Types | |
typedef std::pair < osg::ref_ptr< const osg::Uniform >, unsigned int > | UniformModifiedCountPair |
typedef std::vector < UniformModifiedCountPair > | LastAppliedUniformList |
typedef std::vector< ref_ptr < Shader > > | ShaderList |
Protected Member Functions | |
~PerContextProgram () | |
Protected Attributes | |
const Program * | _program |
Pointer to our parent Program. | |
osg::ref_ptr< GL2Extensions > | _extensions |
Pointer to this context's extension functions. | |
GLuint | _glProgramHandle |
Handle to the actual OpenGL glProgram. | |
bool | _needsLink |
Does our glProgram need to be linked? | |
bool | _isLinked |
Is our glProgram successfully linked? | |
const unsigned int | _contextID |
ActiveVarInfoMap | _uniformInfoMap |
ActiveVarInfoMap | _attribInfoMap |
LastAppliedUniformList | _lastAppliedUniformList |
ShaderList | _shadersToDetach |
ShaderList | _shadersToAttach |
PerContextProgram (PCP) is an OSG-internal encapsulation of glPrograms per-GL context.
typedef std::vector<UniformModifiedCountPair> osg::Program::PerContextProgram::LastAppliedUniformList [protected] |
typedef std::vector< ref_ptr<Shader> > osg::Program::PerContextProgram::ShaderList [protected] |
typedef std::pair<osg::ref_ptr<const osg::Uniform>, unsigned int> osg::Program::PerContextProgram::UniformModifiedCountPair [protected] |
osg::Program::PerContextProgram::PerContextProgram | ( | const Program * | program, |
unsigned int | contextID | ||
) |
osg::Program::PerContextProgram::~PerContextProgram | ( | ) | [protected] |
void osg::Program::PerContextProgram::addShaderToAttach | ( | Shader * | shader | ) | [inline] |
void osg::Program::PerContextProgram::addShaderToDetach | ( | Shader * | shader | ) | [inline] |
void osg::Program::PerContextProgram::apply | ( | const Uniform & | uniform | ) | const [inline] |
References osg::Uniform::apply(), osg::Uniform::get(), osg::Uniform::getModifiedCount(), and osg::Object::getName().
Referenced by osg::State::applyUniformList(), and osg::State::applyUniformMap().
const ActiveVarInfoMap& osg::Program::PerContextProgram::getActiveAttribs | ( | ) | const [inline] |
const ActiveVarInfoMap& osg::Program::PerContextProgram::getActiveUniforms | ( | ) | const [inline] |
GLint osg::Program::PerContextProgram::getAttribLocation | ( | const std::string & | name | ) | const [inline] |
GLuint osg::Program::PerContextProgram::getHandle | ( | ) | const [inline] |
bool osg::Program::PerContextProgram::getInfoLog | ( | std::string & | infoLog | ) | const |
GLint osg::Program::PerContextProgram::getUniformLocation | ( | const std::string & | name | ) | const [inline] |
bool osg::Program::PerContextProgram::isLinked | ( | ) | const [inline] |
void osg::Program::PerContextProgram::linkProgram | ( | ) |
bool osg::Program::PerContextProgram::needsLink | ( | ) | const [inline] |
void osg::Program::PerContextProgram::requestLink | ( | ) |
void osg::Program::PerContextProgram::resetAppliedUniforms | ( | ) | const [inline] |
void osg::Program::PerContextProgram::useProgram | ( | ) | const |
bool osg::Program::PerContextProgram::validateProgram | ( | ) |
const unsigned int osg::Program::PerContextProgram::_contextID [protected] |
Pointer to this context's extension functions.
GLuint osg::Program::PerContextProgram::_glProgramHandle [protected] |
Handle to the actual OpenGL glProgram.
bool osg::Program::PerContextProgram::_isLinked [protected] |
Is our glProgram successfully linked?
LastAppliedUniformList osg::Program::PerContextProgram::_lastAppliedUniformList [mutable, protected] |
bool osg::Program::PerContextProgram::_needsLink [protected] |
Does our glProgram need to be linked?
const Program* osg::Program::PerContextProgram::_program [protected] |
Pointer to our parent Program.
![]() | Generated at Tue Mar 22 2011 13:20:23 for the OpenSceneGraph by doxygen 1.7.3. |