37 #ifndef H_OGF_SCENE_GRAPH_GFX_SHADERS_SHADER_H
38 #define H_OGF_SCENE_GRAPH_GFX_SHADERS_SHADER_H
40 #include <OGF/scene_graph_gfx/common/common.h>
63 gom_attribute(
abstract,
"true")
124 void set_multi(
bool value);
147 GLdouble* latest_modelview() {
151 GLdouble* latest_project() {
155 GLint* latest_viewport() {
178 const std::string& file_name,
179 GLint filtering = GL_LINEAR, GLint wrapping = GL_CLAMP_TO_EDGE
189 const std::string& name,
190 GLint filtering = GL_LINEAR, GLint wrapping = GL_CLAMP_TO_EDGE
208 GLdouble modelview_[16];
209 GLdouble project_[16];
A smart pointer with reference-counted copy semantics.
Base class for all 3D Graphite objects.
A composite object in the GOM system.
Manages the Shader objects associated with a Grob.
Base class for Grob shader.
virtual void pick_object(index_t object_id)=0
Draws the Grob in picking mode.
virtual void blink()
Draws the current object several times, while chaning the value of one graphic attribute (e....
Grob * get_grob() const
Gets the grob.
virtual void draw()
Draws the Grob.
bool no_grob_update_
If true, then each shader update does not trigger a grob update.
bool dark_mode() const
Tests whether dark mode is set.
~Shader() override
Shader destructor.
Shader(Grob *grob)
Shader constructor.
bool get_multi() const
Tests whether multi shader mode is active.
Texture * create_texture_from_colormap_name(const std::string &name, GLint filtering=GL_LINEAR, GLint wrapping=GL_CLAMP_TO_EDGE)
Creates a texture from a colormap by name.
Texture * create_texture_from_file(const std::string &file_name, GLint filtering=GL_LINEAR, GLint wrapping=GL_CLAMP_TO_EDGE)
Creates a texture from an image file.
virtual void update()
Redraws the scene.
Grob * grob() const
Gets the Grob.
geo_index_t index_t
The type for storing and manipulating indices.
Global Graphite namespace.
SmartPointer< Shader > Shader_var
An automatic reference-counted pointer to a Shader.
The base class for all composite objects in the GOM system.
Helper class for manipulating OpenGL textures.