19 #ifndef OMNI_VISUAL_SHADER_H_
20 #define OMNI_VISUAL_SHADER_H_
31 void useShader(QOpenGLShaderProgram& _s, std::function<
void(UniformHandler&)> f);
34 void initShader(QOpenGLShaderProgram& _s,
const char* _filename);
37 void initShader(std::unique_ptr<QOpenGLShaderProgram>& _s,
const char* _filename);
40 void initShader(ContextBoundPtr<QOpenGLShaderProgram>& _s,
const char* _filename);
49 static QString
compile(QString
const& _sourceFile);
53 static QString
compileRecursive(QString
const& _sourceFile, std::set<QString>& _includedFiles);
56 static QString
parseIncludeLine(QString
const& _baseDir, QString
const& _line);
void initShader(QOpenGLShaderProgram &_s, const char *_filename)
Initialize shader: load from file and compile.
Definition: Shader.cpp:27
static QString compileRecursive(QString const &_sourceFile, std::set< QString > &_includedFiles)
Definition: Shader.cpp:80
static QString compile(QString const &_sourceFile)
Definition: Shader.cpp:75
void useShader(QOpenGLShaderProgram &_s, std::function< void(UniformHandler &)>f)
Use shader with and do uniform assignment and drawing inside functor.
Definition: Shader.cpp:59
static QString parseIncludeLine(QString const &_baseDir, QString const &_line)
Parses filename from the #include macro.
Definition: Shader.cpp:107
Adds #include functionality to shader source code Compiles source code file with included files or c...
Definition: Shader.h:46