CalcMySky  v0.3.1
util.hpp
1 #ifndef INCLUDE_ONCE_BCBE8DB3_A1E2_40C1_8E09_1DA9FE40B65D
2 #define INCLUDE_ONCE_BCBE8DB3_A1E2_40C1_8E09_1DA9FE40B65D
3 
4 #include <filesystem>
5 #include <QOpenGLShaderProgram>
6 #include <QString>
7 
8 QByteArray readFullFile(QString const& filename);
9 void addShaderCode(QOpenGLShaderProgram& program, QOpenGLShader::ShaderType type,
10  QString const& description, QByteArray sourceCode);
11 inline void addShaderFile(QOpenGLShaderProgram& program, QOpenGLShader::ShaderType type, QString const& filename)
12 { addShaderCode(program, type, QObject::tr("shader file \"%1\"").arg(filename), readFullFile(filename)); }
13 inline void addShaderFile(QOpenGLShaderProgram& program, QOpenGLShader::ShaderType type, std::filesystem::path const& filename)
14 { addShaderFile(program, type, QString::fromStdString(filename.u8string())); }
15 void link(QOpenGLShaderProgram& program, QString const& description);
16 
17 #endif