13 #ifndef SO_GLSHADER_OBJECT_H
14 #define SO_GLSHADER_OBJECT_H
19 #include "SoShaderSystem.h"
22 #include <Inventor/SbLinear.h>
64 return _shaderRes.isValid();
72 _shouldCompile = TRUE;
75 return _shouldCompile;
79 _shaderProgram =
nullptr;
80 _shouldCompile = TRUE;
84 return _shaderProgram;
87 void setName(
const SbString& name) { _name = name; }
89 const SbString&
getName()
const {
return _name; }
Vertex or fragment shader object class.
const SbString & getSource() const
void setSource(const SbString &source)
bool _emulateLegacyOpenGL
int version() const
Get the used GLSL version (only available after compile()!)
void setName(const SbString &name)
void reset() override
Free all resources (OpenGL too) and reset instance to initial state.
const SbString & getName() const
SoGLShaderProgram * getShaderProgram() const
void attach(SoGLShaderProgram *shaderProgram)
void setEmulateLegacyOpenGL(bool flag)
SoShader::ShaderType shaderType() const
SoShader::ShaderType _shaderType
void activate(SbBool act)
SoGLShaderProgram * _shaderProgram
void setAlwaysReadErrorLog(bool flag)
SoGLShaderObject(SoShader::ShaderType shaderType)
Constructor.
std::string adaptSourceString()
const SbString & getErrorLog()
ml::GLSLShader _shaderRes
SbBool shouldCompile() const
~SoGLShaderObject() override
Destructor.
bool alwaysReadErrorLog()
Class managing an OpenGL shader program.
Abstract base class for shader objects.
boost::graph_traits< ml_graph_ptr >::vertex_descriptor source(graph_traits< ml_graph_ptr >::edge_descriptor e, const ml_graph_ptr)
Returns the vertex descriptor for u of the edge (u,v) represented by e.