summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/renderpass_p.h
diff options
context:
space:
mode:
authorWieland Hagen <wieland.hagen@kdab.com>2016-01-22 18:26:42 +0100
committerWieland Hagen <wieland.hagen@kdab.com>2016-02-05 16:08:55 +0000
commitf4d0f45cc9a054735cd867a71d30b1d23147a409 (patch)
tree142ab9fb76609185342bfffeb72afd990c5fbacd /src/render/materialsystem/renderpass_p.h
parent5757b17a7535ca2a97f78463e4798242a5dcb508 (diff)
Cache RenderStateNodes, so we don't have to look them up every frame
Backend nodes for QRenderPass und QStateSet cache nodes, update only if necessary. Change-Id: Ib04ba9f1632ad531705f40886dcfc87979cf2a0e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/materialsystem/renderpass_p.h')
-rw-r--r--src/render/materialsystem/renderpass_p.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/render/materialsystem/renderpass_p.h b/src/render/materialsystem/renderpass_p.h
index b55cba35a..be038e97d 100644
--- a/src/render/materialsystem/renderpass_p.h
+++ b/src/render/materialsystem/renderpass_p.h
@@ -55,6 +55,7 @@
#include <Qt3DRender/qt3drender_global.h>
#include <Qt3DRender/private/parametermapping_p.h>
#include <Qt3DRender/private/parameterpack_p.h>
+#include <Qt3DRender/private/renderstatecollection_p.h>
#include <Qt3DCore/private/qabstractaspect_p.h>
#include <Qt3DCore/qbackendnode.h>
#include <Qt3DCore/qnodeid.h>
@@ -74,7 +75,7 @@ namespace Render {
class RenderPassManager;
class RenderState;
-class Q_AUTOTEST_EXPORT RenderPass : public Qt3DCore::QBackendNode
+class Q_AUTOTEST_EXPORT RenderPass : public Qt3DCore::QBackendNode, public RenderStateCollection
{
public:
RenderPass();
@@ -88,7 +89,6 @@ public:
Qt3DCore::QNodeId shaderProgram() const;
QList<ParameterMapping> bindings() const;
QList<Qt3DCore::QNodeId> annotations() const;
- QList<Qt3DCore::QNodeId> renderStates() const;
QList<Qt3DCore::QNodeId> parameters() const;
private:
@@ -98,12 +98,8 @@ private:
void appendBinding(const ParameterMapping &binding);
void removeBinding(const Qt3DCore::QNodeId &bindingId);
- void appendRenderState(const Qt3DCore::QNodeId &renderStateId);
- void removeRenderState(const Qt3DCore::QNodeId &renderStateId);
-
Qt3DCore::QNodeId m_shaderUuid;
QHash<Qt3DCore::QNodeId, ParameterMapping> m_bindings;
- QList<Qt3DCore::QNodeId> m_renderStates;
QList<Qt3DCore::QNodeId> m_annotationList;
ParameterPack m_parameterPack;
};