diff options
author | Wieland Hagen <wieland.hagen@kdab.com> | 2016-01-22 18:26:42 +0100 |
---|---|---|
committer | Wieland Hagen <wieland.hagen@kdab.com> | 2016-02-05 16:08:55 +0000 |
commit | f4d0f45cc9a054735cd867a71d30b1d23147a409 (patch) | |
tree | 142ab9fb76609185342bfffeb72afd990c5fbacd /src/render/materialsystem/renderpass_p.h | |
parent | 5757b17a7535ca2a97f78463e4798242a5dcb508 (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.h | 8 |
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; }; |