14 #include <boost/filesystem.hpp>
44 DtEffect(
const std::string& dataPath,
const std::string& strDefines);
50 virtual void releaseResources();
53 virtual void reloadShaders();
65 static std::string loadShaderSource(
const std::string& strFileFolder,
66 const std::string& strFileName,
const std::string& strDefines);
70 virtual void initializeShaderSource() = 0;
71 virtual void updateUniformLocations() = 0;
72 virtual void updateUniforms() = 0;
77 bool compileShaders();
80 static std::string preprocessShaderIncludes(
const std::string&
source,
81 const boost::filesystem::path& filename,
int level,
82 const std::string& shaderFolderPath);
85 static std::string loadShaderFile(
const std::string& strFileName);
121 virtual DtEffect* create(
const std::string& dataPath,
const std::string& strDefines, CreateParameters* params = 0) = 0;