summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/utils/shaderhelper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/utils/shaderhelper.cpp')
-rw-r--r--src/datavisualization/utils/shaderhelper.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp
index e27103af..b4d2ee76 100644
--- a/src/datavisualization/utils/shaderhelper.cpp
+++ b/src/datavisualization/utils/shaderhelper.cpp
@@ -90,22 +90,25 @@ void ShaderHelper::initialize()
m_colorUniform = m_program->uniformLocation("color_mdl");
m_textureUniform = m_program->uniformLocation("textureSampler");
m_shadowUniform = m_program->uniformLocation("shadowMap");
-
+ m_gradientMinUniform = m_program->uniformLocation("gradMin");
+ m_gradientHeightUniform = m_program->uniformLocation("gradHeight");
m_initialized = true;
}
bool ShaderHelper::testCompile()
{
bool result = true;
+
// Discard warnings, we only need the result
QtMessageHandler handler = qInstallMessageHandler(discardDebugMsgs);
if (m_program)
delete m_program;
- m_program = new QOpenGLShaderProgram(m_caller);
+ m_program = new QOpenGLShaderProgram();
if (!m_program->addShaderFromSourceFile(QOpenGLShader::Vertex, m_vertexShaderFile))
result = false;
if (!m_program->addShaderFromSourceFile(QOpenGLShader::Fragment, m_fragmentShaderFile))
result = false;
+
// Restore actual message handler
qInstallMessageHandler(handler);
return result;
@@ -230,6 +233,20 @@ GLuint ShaderHelper::shadow()
return m_shadowUniform;
}
+GLuint ShaderHelper::gradientMin()
+{
+ if (!m_initialized)
+ qFatal("Shader not initialized");
+ return m_gradientMinUniform;
+}
+
+GLuint ShaderHelper::gradientHeight()
+{
+ if (!m_initialized)
+ qFatal("Shader not initialized");
+ return m_gradientHeightUniform;
+}
+
GLuint ShaderHelper::posAtt()
{
if (!m_initialized)