16 #ifndef SURGSIM_GRAPHICS_PROGRAM_H 17 #define SURGSIM_GRAPHICS_PROGRAM_H 20 #include "SurgSim/Framework/Accessible.h" 21 #include "SurgSim/Framework/Asset.h" 48 virtual bool hasVertexShader()
const = 0;
51 virtual void clearVertexShader() = 0;
56 virtual bool loadVertexShader(
const std::string& filePath) = 0;
60 virtual void setVertexShaderSource(
const std::string& source) = 0;
64 virtual bool getVertexShaderSource(std::string* source)
const = 0;
67 virtual bool hasGeometryShader()
const = 0;
70 virtual void clearGeometryShader() = 0;
75 virtual bool loadGeometryShader(
const std::string& filePath) = 0;
79 virtual void setGeometryShaderSource(
const std::string& source) = 0;
83 virtual bool getGeometryShaderSource(std::string* source)
const = 0;
87 virtual bool hasFragmentShader()
const = 0;
90 virtual void clearFragmentShader() = 0;
95 virtual bool loadFragmentShader(
const std::string& filePath) = 0;
99 virtual void setFragmentShaderSource(
const std::string& source) = 0;
103 virtual bool getFragmentShaderSource(std::string* source)
const = 0;
109 clearGeometryShader();
110 clearFragmentShader();
118 virtual void setGlobalScope(
bool val) = 0;
122 virtual bool isGlobalScope()
const = 0;
126 inline Program::~Program()
134 #endif // SURGSIM_GRAPHICS_PROGRAM_H Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
This class is used to facilitate file loading.
Definition: Asset.h:39
virtual void clear()
Clears the entire shader, returning to fixed-function pipeline.
Definition: Program.h:106
Base class that defines the interface for graphics programs.
Definition: Program.h:40