38 DtGlShader(
const std::string& name,
const std::string&
source, DtGlShaderType type);
53 virtual bool isValid()
const;
56 virtual unsigned int id()
const;
60 static std::string loadShaderSource(
const std::string& strFileName);
63 static void saveShaderSource(
const std::string& strFileName,
const std::string& strSource);
66 static std::string fixVersionDirective(
const std::string &shaderString);
69 static void deleteShaders(
const std::vector<unsigned int>& shaderVector);
74 static bool compileShader(
const std::string& shader_name,
const std::string&
source, DtGlShaderType shaderType,
unsigned int &shaderID);
107 virtual void unbind();
110 virtual bool isValid()
const;
113 virtual unsigned int id()
const;
119 static bool createProgram(
const std::string& name,
const VectorUnsignedInts& shaders,
unsigned int&
id);
125 static bool createComputeProgram(
unsigned int&
id,
const std::string&
source,
const std::string& prefixName);
131 static void runComputeShader(
unsigned int computeProgram,
unsigned int workSizeX,
unsigned int workSizeY,
bool bind);
137 static void runComputeShader(
unsigned int computeProgram,
const DtGlTexture* renderTexture,
bool bind);
A convenience class to represent an OpenGL Shader.
Definition: DtGlShader.h:24
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlShader.h:84
std::vector< DtGlShader * > DtShaderVector
a list of shaders
Definition: DtGlShader.h:81
const DtShaderVector myShaders
Definition: DtGlShader.h:141
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
Definition: DtGlShader.h:31
unsigned myProgramID
Definition: DtGlShader.h:139
DtGlShaderType
Definition: DtGlShader.h:27
const char * source
Definition: lz4.h:436
unsigned int myShaderID
Definition: DtGlShader.h:76
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
Definition: DtGlShader.h:32
bool myIsValid
Definition: DtGlShader.h:77
Definition: DtGlShader.h:33
std::vector< unsigned int > VectorUnsignedInts
Definition: DtCommonTypes.h:19
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlTexture.h:20
Definition: DtGlShader.h:30
bool myIsValid
Definition: DtGlShader.h:140