summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp65
1 files changed, 33 insertions, 32 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 3505d304..e477fca3 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -19,6 +19,7 @@
#include "surface3dcontroller_p.h"
#include "surface3drenderer_p.h"
#include "q3dcamera.h"
+#include "q3dcamera_p.h"
#include "shaderhelper_p.h"
#include "objecthelper_p.h"
#include "surfaceobject_p.h"
@@ -254,20 +255,20 @@ QRect Surface3DRenderer::calculateSampleRect(QSurfaceDataProxy *dataProxy)
void Surface3DRenderer::updateScene(Q3DScene *scene)
{
// TODO: Move these to more suitable place e.g. controller should be controlling the viewports.
- scene->setMainViewport(m_mainViewPort);
+ scene->setPrimarySubViewport(m_mainViewPort);
scene->setUnderSideCameraEnabled(m_hasNegativeValues);
// Set initial camera position
// X must be 0 for rotation to work - we can use "setCameraRotation" for setting it later
if (m_hasHeightAdjustmentChanged) {
- scene->camera()->setDefaultOrientation(QVector3D(0.0f, 0.0f, 6.0f + zComp),
- QVector3D(0.0f, 0.0f, zComp),
- QVector3D(0.0f, 1.0f, 0.0f));
+ scene->activeCamera()->setBaseOrientation(QVector3D(0.0f, 0.0f, 6.0f + zComp),
+ QVector3D(0.0f, 0.0f, zComp),
+ QVector3D(0.0f, 1.0f, 0.0f));
// For now this is used just to make things once. Proper use will come
m_hasHeightAdjustmentChanged = false;
}
- scene->camera()->updateViewMatrix(m_autoScaleAdjustment);
+ scene->activeCamera()->d_ptr->updateViewMatrix(m_autoScaleAdjustment);
scene->setLightPositionRelativeToCamera(defaultLightPos);
if (m_selectionPointer)
@@ -292,7 +293,7 @@ void Surface3DRenderer::render(GLuint defaultFboHandle)
void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
{
- Q3DCamera *camera = m_cachedScene->camera();
+ Q3DCamera *camera = m_cachedScene->activeCamera();
GLfloat backgroundRotation = 0;
// Specify viewport
@@ -305,7 +306,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
/ (GLfloat)m_mainViewPort.height(), 0.1f, 100.0f);
// Calculate view matrix
- QMatrix4x4 viewMatrix = m_cachedScene->camera()->viewMatrix();
+ QMatrix4x4 viewMatrix = m_cachedScene->activeCamera()->viewMatrix();
// Calculate flipping indicators
if (viewMatrix.row(0).x() > 0)
@@ -328,7 +329,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
backgroundRotation = 0.0f;
// TODO: add 0.0f, 1.0f / m_autoScaleAdjustment
- QVector3D lightPos = m_cachedScene->light()->position();
+ QVector3D lightPos = m_cachedScene->activeLight()->position();
QMatrix4x4 depthViewMatrix;
QMatrix4x4 depthProjectionMatrix;
@@ -598,25 +599,25 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
// Set the rest of the shader bindings
lineShader->setUniformValue(lineShader->model(), modelMatrix);
lineShader->setUniformValue(lineShader->nModel(),
- itModelMatrix.inverted().transposed());
+ itModelMatrix.inverted().transposed());
lineShader->setUniformValue(lineShader->MVP(), MVPMatrix);
- #if !defined(QT_OPENGL_ES_2)
+#if !defined(QT_OPENGL_ES_2)
if (m_cachedShadowQuality > QDataVis::ShadowNone) {
// Set shadow shader bindings
lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader);
lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix);
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength / 10.0f);
+ m_cachedTheme.m_lightStrength / 10.0f);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj, 0, m_depthTexture);
} else
- #endif
+#endif
{
// Set shadowless shader bindings
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength);
+ m_cachedTheme.m_lightStrength);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj);
@@ -648,25 +649,25 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
// Set the rest of the shader bindings
lineShader->setUniformValue(lineShader->model(), modelMatrix);
lineShader->setUniformValue(lineShader->nModel(),
- itModelMatrix.inverted().transposed());
+ itModelMatrix.inverted().transposed());
lineShader->setUniformValue(lineShader->MVP(), MVPMatrix);
- #if !defined(QT_OPENGL_ES_2)
+#if !defined(QT_OPENGL_ES_2)
if (m_cachedShadowQuality > QDataVis::ShadowNone) {
// Set shadow shader bindings
lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader);
lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix);
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength / 10.0f);
+ m_cachedTheme.m_lightStrength / 10.0f);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj, 0, m_depthTexture);
} else
- #endif
+#endif
{
// Set shadowless shader bindings
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength);
+ m_cachedTheme.m_lightStrength);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj);
@@ -702,25 +703,25 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
// Set the rest of the shader bindings
lineShader->setUniformValue(lineShader->model(), modelMatrix);
lineShader->setUniformValue(lineShader->nModel(),
- itModelMatrix.inverted().transposed());
+ itModelMatrix.inverted().transposed());
lineShader->setUniformValue(lineShader->MVP(), MVPMatrix);
- #if !defined(QT_OPENGL_ES_2)
+#if !defined(QT_OPENGL_ES_2)
if (m_cachedShadowQuality > QDataVis::ShadowNone) {
// Set shadow shader bindings
lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader);
lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix);
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength / 10.0f);
+ m_cachedTheme.m_lightStrength / 10.0f);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj, 0, m_depthTexture);
} else
- #endif
+#endif
{
// Set shadowless shader bindings
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength);
+ m_cachedTheme.m_lightStrength);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj);
@@ -753,25 +754,25 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
// Set the rest of the shader bindings
lineShader->setUniformValue(lineShader->model(), modelMatrix);
lineShader->setUniformValue(lineShader->nModel(),
- itModelMatrix.inverted().transposed());
+ itModelMatrix.inverted().transposed());
lineShader->setUniformValue(lineShader->MVP(), MVPMatrix);
- #if !defined(QT_OPENGL_ES_2)
+#if !defined(QT_OPENGL_ES_2)
if (m_cachedShadowQuality > QDataVis::ShadowNone) {
// Set shadow shader bindings
lineShader->setUniformValue(lineShader->shadowQ(), m_shadowQualityToShader);
lineShader->setUniformValue(lineShader->depth(), depthMVPMatrix);
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength / 10.0f);
+ m_cachedTheme.m_lightStrength / 10.0f);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj, 0, m_depthTexture);
} else
- #endif
+#endif
{
// Set shadowless shader bindings
lineShader->setUniformValue(lineShader->lightS(),
- m_cachedTheme.m_lightStrength);
+ m_cachedTheme.m_lightStrength);
// Draw the object
m_drawer->drawObject(m_shader, m_gridLineObj);
@@ -970,10 +971,10 @@ void Surface3DRenderer::requestSelectionAtPoint(const QPoint &point)
{
Q_UNUSED(point)
-// QMutexLocker locker(&m_mutex);
-// m_selectionPointRequest.setX(point.x());
-// m_selectionPointRequest.setY(point.y());
-// m_isSelectionPointRequestActive = true;
+ // QMutexLocker locker(&m_mutex);
+ // m_selectionPointRequest.setX(point.x());
+ // m_selectionPointRequest.setY(point.y());
+ // m_isSelectionPointRequestActive = true;
m_querySelection = true;
}