1 #ifndef INCLUDE_ONCE_2BE961E4_6CF8_4E2F_B5E5_DE8EEEE510F9 2 #define INCLUDE_ONCE_2BE961E4_6CF8_4E2F_B5E5_DE8EEEE510F9 5 #include <QOpenGLShader> 7 #include "../common/util.hpp" 9 DEFINE_EXPLICIT_BOOL(IgnoreCache);
10 QString getShaderSrc(QString
const& fileName, IgnoreCache ignoreCache=IgnoreCache{
false});
11 DEFINE_EXPLICIT_BOOL(UseGeomShader);
12 std::unique_ptr<QOpenGLShaderProgram> compileShaderProgram(QString
const& mainSrcFileName,
13 const char* description,
14 UseGeomShader useGeomShader=UseGeomShader{
false},
15 std::vector<std::pair<QString, QString>>* sourcesToSave=
nullptr);
16 void initConstHeader(glm::vec4
const& wavelengths);
17 QString makeScattererDensityFunctionsSrc();
18 QString makeTransmittanceComputeFunctionsSrc(glm::vec4
const& wavelengths);
19 QString makeTotalScatteringCoefSrc();
20 QString makePhaseFunctionsSrc();