14#ifndef OSG_SHADERCOMPOSER
15#define OSG_SHADERCOMPOSER 1
39 typedef std::vector< const osg::Shader* >
Shaders;
50 typedef std::map< ShaderComponents, ref_ptr<Program> >
ProgramMap;
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
std::vector< osg::ShaderComponent * > ShaderComponents
Definition ShaderComposer:26
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
osg::Program is an application-level abstraction of an OpenGL glProgram.
Definition Program:52
osg::Shader is an application-level abstraction of an OpenGL glShader.
Definition Shader:89
std::vector< const osg::Shader * > Shaders
Definition ShaderComposer:39
virtual ~ShaderComposer()
virtual osg::Shader * composeMain(const Shaders &shaders)
ShaderMainMap _shaderMainMap
Definition ShaderComposer:54
META_Object(osg, ShaderComposer)
ProgramMap _programMap
Definition ShaderComposer:51
virtual osg::Program * getOrCreateProgram(const ShaderComponents &shaderComponents)
ShaderComposer(const ShaderComposer &sa, const CopyOp ©op=CopyOp::SHALLOW_COPY)
virtual void addShaderToProgram(Program *program, const Shaders &shaders)
std::map< ShaderComponents, ref_ptr< Program > > ProgramMap
Definition ShaderComposer:50
std::map< Shaders, ref_ptr< Shader > > ShaderMainMap
Definition ShaderComposer:53
virtual void releaseGLObjects(osg::State *state) const
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics...
Encapsulates the current applied OpenGL modes, attributes and vertex arrays settings,...
Definition State:80
#define OSG_EXPORT
Definition Export:39