summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/utils
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-09-09 11:30:15 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-09-10 12:30:54 +0300
commitddb9be979d93b7e17f1067dc6056de54d9828b29 (patch)
treedf612c56e4a804481297ae55b29f0ee379c5f8ab /src/datavisualization/utils
parentbb30ea555c71604de9a2bc5096fa35c9532b26bd (diff)
Limit volume to axis ranges
The volume object that would go partially outside axis ranges is scale and repositioned so that it only renders the portion that is inside the axis ranges. Change-Id: I792494e437998ba6276f58fab645767276c1476d Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/utils')
-rw-r--r--src/datavisualization/utils/shaderhelper.cpp16
-rw-r--r--src/datavisualization/utils/shaderhelper_p.h4
2 files changed, 20 insertions, 0 deletions
diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp
index 9d1ad0d9..b6dc1621 100644
--- a/src/datavisualization/utils/shaderhelper.cpp
+++ b/src/datavisualization/utils/shaderhelper.cpp
@@ -101,6 +101,8 @@ void ShaderHelper::initialize()
m_sampleCountUniform = m_program->uniformLocation("sampleCount");
m_alphaMultiplierUniform = m_program->uniformLocation("alphaMultiplier");
m_preserveOpacityUniform = m_program->uniformLocation("preserveOpacity");
+ m_minBoundsUniform = m_program->uniformLocation("minBounds");
+ m_maxBoundsUniform = m_program->uniformLocation("maxBounds");
m_initialized = true;
}
@@ -324,6 +326,20 @@ GLuint ShaderHelper::preserveOpacity()
return m_preserveOpacityUniform;
}
+GLuint ShaderHelper::maxBounds()
+{
+ if (!m_initialized)
+ qFatal("Shader not initialized");
+ return m_maxBoundsUniform;
+}
+
+GLuint ShaderHelper::minBounds()
+{
+ if (!m_initialized)
+ qFatal("Shader not initialized");
+ return m_minBoundsUniform;
+}
+
GLuint ShaderHelper::posAtt()
{
if (!m_initialized)
diff --git a/src/datavisualization/utils/shaderhelper_p.h b/src/datavisualization/utils/shaderhelper_p.h
index ac815447..853fcc8f 100644
--- a/src/datavisualization/utils/shaderhelper_p.h
+++ b/src/datavisualization/utils/shaderhelper_p.h
@@ -82,6 +82,8 @@ class ShaderHelper
GLuint sampleCount();
GLuint alphaMultiplier();
GLuint preserveOpacity();
+ GLuint maxBounds();
+ GLuint minBounds();
GLuint posAtt();
GLuint uvAtt();
@@ -124,6 +126,8 @@ class ShaderHelper
GLuint m_sampleCountUniform;
GLuint m_alphaMultiplierUniform;
GLuint m_preserveOpacityUniform;
+ GLuint m_minBoundsUniform;
+ GLuint m_maxBoundsUniform;
GLboolean m_initialized;
};