summaryrefslogtreecommitdiffstats
path: root/src/render/io/uniformbuffer_p.h
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-01-09 10:10:13 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-01-18 15:30:47 +0100
commit074263ba87e73c67e355ee5dc5037477090f6957 (patch)
tree18bf0672f9c93c5a1a64d50d6723791f50637f6f /src/render/io/uniformbuffer_p.h
parent67ffbd60ed6f383f3629a1848587da049c3ff3c9 (diff)
RenderShaderData handling entirely reworked
- UBO created for each Shader/ShaderData - We deal with nested QShaderData by looking for QNodeId only instead of looking for QShaderData* - We update only the values that have changed into the UBO - A CleanupFrameJob was added to properly clear all RenderShaderData set for updates after a frame - RenderShaderData is cleared of all UBO rendering logic - BlockToUBO contains all the updated properties for a given UBO in a RenderView, that solves the issue of properties being updated in the RenderShaderData while performing a draw call Note: the QShaderData transformed properties were commented for now deferred-examples and playground qml updates to follow Change-Id: I8ecf155288c154f41b505cf465d31f5eb8a71b5d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/io/uniformbuffer_p.h')
-rw-r--r--src/render/io/uniformbuffer_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/io/uniformbuffer_p.h b/src/render/io/uniformbuffer_p.h
index 62f6af1b1..e17e50ece 100644
--- a/src/render/io/uniformbuffer_p.h
+++ b/src/render/io/uniformbuffer_p.h
@@ -43,6 +43,7 @@
#define QT3D_RENDER_UNIFORMBUFFER_P_H
#include <QOpenGLContext>
+#include <Qt3DCore/qnodeid.h>
QT_BEGIN_NAMESPACE
@@ -52,6 +53,8 @@ namespace Render {
class QGraphicsContext;
+typedef QPair<QNodeId, QNodeId> ShaderDataShaderUboKey;
+
class UniformBuffer
{
public: