37 #ifndef H_OGF_SCENE_GRAPH_GFX_SHADERS_SHADER_MANAGER_H
38 #define H_OGF_SCENE_GRAPH_GFX_SHADERS_SHADER_MANAGER_H
40 #include <OGF/scene_graph_gfx/common/common.h>
53 class SceneGraphShaderManager;
78 return current_shader_;
107 return sg_shader_manager_;
116 void set_shader(
const std::string& value);
129 gom_attribute(aggregate_properties,
"true")
131 return current_shader_;
141 typedef std::map<std::string, Shader_var> ShaderMap;
A smart pointer with reference-counted copy semantics.
Base class for all 3D Graphite objects.
Base class for all objects in the GOM system.
Manages the shaders and full screen effects for the entire SceneGraph.
Manages the Shader objects associated with a Grob.
std::string get_shader() const
Gets the class name of the current shader.
ShaderManager(Grob *grob, SceneGraphShaderManager *sg_shader_manager)
ShaderManager constructor.
void draw()
Draws the Grob using the current Shader.
~ShaderManager() override
ShaderManager destructor.
Grob * grob()
Gets the Grob.
void update()
Updates the current shader.
SceneGraphShaderManager * scene_graph_shader_manager() const
Gets the SceneGraphShaderManager.
Base class for Grob shader.
Global Graphite namespace.
SmartPointer< ShaderManager > ShaderManager_var
An automatic reference-counted pointer to a ShaderManager.
The base class for all composite objects in the GOM system.
The base class for all object shaders.