16 #ifndef SURGSIM_GRAPHICS_SHADER_H
17 #define SURGSIM_GRAPHICS_SHADER_H
123 #endif // SURGSIM_GRAPHICS_SHADER_H
virtual bool loadVertexShaderSource(const std::string &filePath)=0
Loads the vertex shader source code from a file.
Definition: DriveElementFromInputBehavior.cpp:27
virtual bool loadFragmentShaderSource(const std::string &filePath)=0
Loads the fragment shader source code from a file.
virtual void setVertexShaderSource(const std::string &source)=0
Set the vertex shader source code.
virtual bool getGeometryShaderSource(std::string *source) const =0
Gets the geometry shader source code.
virtual bool getVertexShaderSource(std::string *source) const =0
Gets the vertex shader source code.
virtual bool getFragmentShaderSource(std::string *source) const =0
Gets the fragment shader source code.
virtual bool loadGeometryShaderSource(const std::string &filePath)=0
Loads the geometry shader source code from a file.
Base class that defines the interface for graphics shaders.
Definition: Shader.h:30
virtual bool hasGeometryShader() const =0
Returns true if the geometry shader has been set, otherwise false.
virtual bool hasVertexShader() const =0
Returns true if the vertex shader has been set, otherwise false.
virtual ~Shader()=0
Destructor.
Definition: Shader.h:115
virtual bool isGlobalScope() const =0
Query if this shader is of global scope.
virtual void clearFragmentShader()=0
Removes the fragment shader, returning that portion of the shader program to fixed-function.
virtual void setGlobalScope(bool val)=0
When this is set to true, this shader should be used instead of other shaders that might apply...
virtual bool hasFragmentShader() const =0
Returns true if the fragment shader has been set, otherwise false.
virtual void clear()
Clears the entire shader, returning to fixed-function pipeline.
Definition: Shader.h:95
virtual void setFragmentShaderSource(const std::string &source)=0
Set the fragment shader source code.
virtual void clearVertexShader()=0
Removes the vertex shader, returning that portion of the shader program to fixed-function.
virtual void setGeometryShaderSource(const std::string &source)=0
Set the geometry shader source code.
virtual void clearGeometryShader()=0
Removes the geometry shader, returning that portion of the shader program to fixed-function.