diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-06-04 06:33:13 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-06-05 10:30:44 +0200 |
commit | 73177e934cb07de9d1bf7fbb0b72bb765b7bd5e1 (patch) | |
tree | bc214f9f68399decc9818683224dab3dab346220 /src/render/backend | |
parent | dad524256b61ef17e5f9843167cdfa757ac4e184 (diff) |
Register QShaderImage in QRenderAspect
And add required ShaderImageManager
Change-Id: I4b3347d6dc4b70690abea0486c933f5a508b057f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/render/backend')
-rw-r--r-- | src/render/backend/handle_types_p.h | 2 | ||||
-rw-r--r-- | src/render/backend/managers_p.h | 11 | ||||
-rw-r--r-- | src/render/backend/nodemanagers.cpp | 8 | ||||
-rw-r--r-- | src/render/backend/nodemanagers_p.h | 7 |
4 files changed, 28 insertions, 0 deletions
diff --git a/src/render/backend/handle_types_p.h b/src/render/backend/handle_types_p.h index 124e6db74..195fc2cc6 100644 --- a/src/render/backend/handle_types_p.h +++ b/src/render/backend/handle_types_p.h @@ -99,6 +99,7 @@ class RenderStateNode; class Armature; class Skeleton; class Joint; +class ShaderImage; typedef Qt3DCore::QHandle<RenderTargetOutput> HAttachment; typedef Qt3DCore::QHandle<CameraLens> HCamera; @@ -138,6 +139,7 @@ typedef Qt3DCore::QHandle<RenderStateNode> HRenderState; typedef Qt3DCore::QHandle<Armature> HArmature; typedef Qt3DCore::QHandle<Skeleton> HSkeleton; typedef Qt3DCore::QHandle<Joint> HJoint; +typedef Qt3DCore::QHandle<ShaderImage> HShaderImage; } // namespace Render diff --git a/src/render/backend/managers_p.h b/src/render/backend/managers_p.h index eb219fd1e..89b02b86f 100644 --- a/src/render/backend/managers_p.h +++ b/src/render/backend/managers_p.h @@ -86,6 +86,7 @@ #include <Qt3DRender/private/armature_p.h> #include <Qt3DRender/private/skeleton_p.h> #include <Qt3DRender/private/joint_p.h> +#include <Qt3DRender/private/shaderimage_p.h> QT_BEGIN_NAMESPACE @@ -302,6 +303,15 @@ public: ParameterManager() {} }; +class ShaderImageManager : public Qt3DCore::QResourceManager< + ShaderImage, + Qt3DCore::QNodeId, + Qt3DCore::NonLockingPolicy> +{ +public: + ShaderImageManager() {} +}; + class ShaderDataManager : public Qt3DCore::QResourceManager< ShaderData, Qt3DCore::QNodeId, @@ -465,6 +475,7 @@ Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::Armature, Q_REQUIRES_CLEANUP) Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::Skeleton, Q_REQUIRES_CLEANUP) Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::Joint, Q_REQUIRES_CLEANUP) Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::ShaderBuilder, Q_REQUIRES_CLEANUP) +Q_DECLARE_RESOURCE_INFO(Qt3DRender::Render::ShaderImage, Q_REQUIRES_CLEANUP) QT_END_NAMESPACE diff --git a/src/render/backend/nodemanagers.cpp b/src/render/backend/nodemanagers.cpp index dd82b1a69..98791fcd6 100644 --- a/src/render/backend/nodemanagers.cpp +++ b/src/render/backend/nodemanagers.cpp @@ -97,6 +97,7 @@ NodeManagers::NodeManagers() , m_armatureManager(new ArmatureManager()) , m_skeletonManager(new SkeletonManager()) , m_jointManager(new JointManager()) + , m_shaderImageManager(new ShaderImageManager()) , m_resourceAccessor(new ResourceAccessor(this)) { } @@ -145,6 +146,7 @@ NodeManagers::~NodeManagers() delete m_armatureManager; delete m_skeletonManager; delete m_jointManager; + delete m_shaderImageManager; } QSharedPointer<ResourceAccessor> NodeManagers::resourceAccessor() @@ -374,6 +376,12 @@ JointManager *NodeManagers::manager<Joint>() const Q_DECL_NOTHROW return m_jointManager; } +template<> +ShaderImageManager *NodeManagers::manager<ShaderImage>() const Q_DECL_NOTHROW +{ + return m_shaderImageManager; +} + } // Render } // Qt3DRender diff --git a/src/render/backend/nodemanagers_p.h b/src/render/backend/nodemanagers_p.h index 46e7b60f1..7cc1f2ac2 100644 --- a/src/render/backend/nodemanagers_p.h +++ b/src/render/backend/nodemanagers_p.h @@ -105,6 +105,7 @@ class RenderStateManager; class ArmatureManager; class SkeletonManager; class JointManager; +class ShaderImageManager; class FrameGraphNode; class Entity; @@ -143,6 +144,7 @@ class Armature; class Skeleton; class Joint; class OpenGLVertexArrayObject; +class ShaderImage; class ResourceAccessor; @@ -225,6 +227,7 @@ public: inline ArmatureManager *armatureManager() const Q_DECL_NOEXCEPT { return m_armatureManager; } inline SkeletonManager *skeletonManager() const Q_DECL_NOEXCEPT { return m_skeletonManager; } inline JointManager *jointManager() const Q_DECL_NOEXCEPT { return m_jointManager; } + inline ShaderImageManager *shaderImageManager() const Q_DECL_NOEXCEPT { return m_shaderImageManager; } QSharedPointer<ResourceAccessor> resourceAccessor(); @@ -268,6 +271,7 @@ private: ArmatureManager *m_armatureManager; SkeletonManager *m_skeletonManager; JointManager *m_jointManager; + ShaderImageManager *m_shaderImageManager; QSharedPointer<ResourceAccessor> m_resourceAccessor; }; @@ -385,6 +389,9 @@ Q_3DRENDERSHARED_PRIVATE_EXPORT SkeletonManager *NodeManagers::manager<Skeleton> template<> Q_3DRENDERSHARED_PRIVATE_EXPORT JointManager *NodeManagers::manager<Joint>() const Q_DECL_NOEXCEPT; +template<> +Q_3DRENDERSHARED_PRIVATE_EXPORT ShaderImageManager *NodeManagers::manager<ShaderImage>() const Q_DECL_NOEXCEPT; + } // Render } // Qt3DRender |