diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-06-02 14:46:13 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-06-02 20:07:33 +0200 |
commit | 50f73e80c9da75a092f4e92dab3b08ca74dd91f6 (patch) | |
tree | 46f86c5146109e0a8413d67adc09d6e67755d7a2 | |
parent | b41cb926b87db3b437fa833d1ca266b9adf3ac0e (diff) |
RenderPassFilter to use qmlRegisterExtendedType
Note : Rendering should be restored at that point
Change-Id: Ic1e3db5da2dea67c82668c0fbc0ed27b65d6d98b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | examples/cpp_example/main.cpp | 4 | ||||
-rw-r--r-- | src/quick3d/imports/render/qt3dquick3drenderplugin.cpp | 2 | ||||
-rw-r--r-- | src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp | 5 | ||||
-rw-r--r-- | src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h | 12 | ||||
-rw-r--r-- | src/render/frontend/render-frontend.pri | 2 | ||||
-rw-r--r-- | src/render/frontend/renderpassfilter.h | 16 | ||||
-rw-r--r-- | src/render/frontend/renderpassfilteritem.cpp | 56 | ||||
-rw-r--r-- | src/render/frontend/renderpassfilteritem.h | 71 |
8 files changed, 18 insertions, 150 deletions
diff --git a/examples/cpp_example/main.cpp b/examples/cpp_example/main.cpp index 720721f9f..df2083cbf 100644 --- a/examples/cpp_example/main.cpp +++ b/examples/cpp_example/main.cpp @@ -64,7 +64,7 @@ #include <Qt3DCore/transform.h> #include <Qt3DRenderer/cameraselector.h> -#include <Qt3DRenderer/renderpassfilteritem.h> +#include <Qt3DRenderer/renderpassfilter.h> #include <Qt3DRenderer/techniquefilter.h> #include <Qt3DRenderer/viewport.h> #include <Qt3DRenderer/rendereraspect.h> @@ -141,7 +141,7 @@ int main(int ac, char **av) Qt3D::FrameGraph *frameGraph = new Qt3D::FrameGraph(); Qt3D::TechniqueFilter *techniqueFilter = new Qt3D::TechniqueFilter(); Qt3D::CameraSelector *cameraSelector = new Qt3D::CameraSelector(); - Qt3D::RenderPassFilterNode *defaultRenderPassFilter = new Qt3D::RenderPassFilterNode(); + Qt3D::RenderPassFilter *defaultRenderPassFilter = new Qt3D::RenderPassFilter(); Qt3D::Viewport *viewport = new Qt3D::Viewport(); // TechiqueFilter and renderPassFilter are not implement yet diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp index 43f746760..b8bd6b304 100644 --- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp @@ -86,7 +86,7 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture>(uri, 2, 0, "Texture"); // Framegraph components - TODO RenderTarget, RenderTargetSelector qmlRegisterExtendedType<Qt3D::CameraSelector, Qt3D::Quick::Quick3DNode>(uri, 2, 0, "CameraSelector"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DRenderPassFilter>(uri, 2, 0, "RenderPassFilter"); + qmlRegisterExtendedType<Qt3D::RenderPassFilter, Qt3D::Render::Quick::Quick3DRenderPassFilter>(uri, 2, 0, "RenderPassFilter"); qmlRegisterExtendedType<Qt3D::TechniqueFilter, Qt3D::Render::Quick::Quick3DTechniqueFilter>(uri, 2, 0, "TechniqueFilter"); qmlRegisterExtendedType<Qt3D::Viewport, Qt3D::Render::Quick::Quick3DViewport>(uri, 2, 0, "Viewport"); qmlRegisterType<Qt3D::Render::Quick::Quick3DRenderTargetSelector>(uri, 2, 0, "RenderTargetSelector"); diff --git a/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp index fc935983d..ba1fbd1a9 100644 --- a/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp +++ b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp @@ -49,9 +49,8 @@ namespace Render { namespace Quick { -Quick3DRenderPassFilter::Quick3DRenderPassFilter(Node *parent) - : RenderPassFilter() - , Quick3DFrameGraphItem(parent) +Quick3DRenderPassFilter::Quick3DRenderPassFilter(QObject *parent) + : Quick3DNode(parent) { } diff --git a/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h index dead1314a..a3c39827b 100644 --- a/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h +++ b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h @@ -42,6 +42,7 @@ #ifndef QT3D_RENDER_QUICK_QUICK3DRENDERPASSFILTER_H #define QT3D_RENDER_QUICK_QUICK3DRENDERPASSFILTER_H +#include <Qt3DQuick/quick3dnode.h> #include <Qt3DQuickRenderer/quick3dframegraphitem.h> #include <Qt3DRenderer/renderpassfilter.h> @@ -53,18 +54,11 @@ namespace Render { namespace Quick { -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DRenderPassFilter : public Quick3DFrameGraphItem, public virtual RenderPassFilter +class QT3DQUICKRENDERERSHARED_EXPORT Quick3DRenderPassFilter : public Qt3D::Quick::Quick3DNode { Q_OBJECT - Q_INTERFACES(Qt3D::RenderPassFilter) - Q_PROPERTY(QString renderPassName READ renderPassName WRITE setRenderPassName NOTIFY renderPassNameChanged) - public: - Quick3DRenderPassFilter(Node *parent = 0); - -Q_SIGNALS: - void renderPassNameChanged() Q_DECL_OVERRIDE; - void enabledChanged() Q_DECL_OVERRIDE; + explicit Quick3DRenderPassFilter(QObject *parent = 0); }; } // Quick diff --git a/src/render/frontend/render-frontend.pri b/src/render/frontend/render-frontend.pri index cd628d0ac..3ad6727ae 100644 --- a/src/render/frontend/render-frontend.pri +++ b/src/render/frontend/render-frontend.pri @@ -20,7 +20,6 @@ HEADERS += \ $$PWD/framegraphitem_p.h \ $$PWD/viewport.h \ $$PWD/cameraselector.h \ - $$PWD/renderpassfilteritem.h \ $$PWD/rendertargetselectoritem.h \ $$PWD/effect.h \ $$PWD/scene.h \ @@ -39,7 +38,6 @@ SOURCES += \ $$PWD/qabstractscene.cpp \ $$PWD/framegraph.cpp \ $$PWD/framegraphitem.cpp \ - $$PWD/renderpassfilteritem.cpp \ $$PWD/rendertargetselectoritem.cpp \ $$PWD/effect.cpp \ $$PWD/scene.cpp \ diff --git a/src/render/frontend/renderpassfilter.h b/src/render/frontend/renderpassfilter.h index 10ed942d9..399716432 100644 --- a/src/render/frontend/renderpassfilter.h +++ b/src/render/frontend/renderpassfilter.h @@ -65,11 +65,16 @@ public: QString m_renderPassName; }; -class QT3DRENDERERSHARED_EXPORT RenderPassFilter : public FrameGraphItem +class QT3DRENDERERSHARED_EXPORT RenderPassFilter : public Node, public FrameGraphItem { + Q_OBJECT + Q_INTERFACES(Qt3D::FrameGraphItem) + Q_PROPERTY(QString renderPassName READ renderPassName WRITE setRenderPassName NOTIFY renderPassNameChanged) + public: - RenderPassFilter() - : d_ptr(new RenderPassFilterPrivate(this)) + explicit RenderPassFilter(Node *parent = 0) + : Node(parent) + , d_ptr(new RenderPassFilterPrivate(this)) {} ~RenderPassFilter() {} @@ -90,7 +95,8 @@ public: } Q_SIGNALS: - virtual void renderPassNameChanged() = 0; + void renderPassNameChanged(); + void enabledChanged() Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(RenderPassFilter) @@ -99,8 +105,6 @@ private: } // namespace Qt3D -Q_DECLARE_INTERFACE(Qt3D::RenderPassFilter, "org.qt-project.Qt3D.Render.RenderPassFilter/2.0") - QT_END_NAMESPACE #endif // QT3D_RENDERPASSFILTER_H diff --git a/src/render/frontend/renderpassfilteritem.cpp b/src/render/frontend/renderpassfilteritem.cpp deleted file mode 100644 index 6468d3512..000000000 --- a/src/render/frontend/renderpassfilteritem.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "renderpassfilteritem.h" - -QT_BEGIN_NAMESPACE - -namespace Qt3D { - -RenderPassFilterNode::RenderPassFilterNode(Node *parent) - : Node(parent), - RenderPassFilter() -{ -} - -} // Qt3D - -QT_END_NAMESPACE diff --git a/src/render/frontend/renderpassfilteritem.h b/src/render/frontend/renderpassfilteritem.h deleted file mode 100644 index 5462f502c..000000000 --- a/src/render/frontend/renderpassfilteritem.h +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QT3D_RENDERPASSFILTERNODE_H -#define QT3D_RENDERPASSFILTERNODE_H - -#include <Qt3DRenderer/renderpassfilter.h> -#include <Qt3DCore/node.h> - -QT_BEGIN_NAMESPACE - -namespace Qt3D { - -class QT3DRENDERERSHARED_EXPORT RenderPassFilterNode : public Node, public RenderPassFilter -{ - Q_OBJECT - Q_INTERFACES(Qt3D::FrameGraphItem) - Q_INTERFACES(Qt3D::RenderPassFilter) - Q_PROPERTY(QString renderPassName READ renderPassName WRITE setRenderPassName NOTIFY renderPassNameChanged) - -public: - RenderPassFilterNode(Node *parent = 0); - -Q_SIGNALS: - void enabledChanged() Q_DECL_OVERRIDE; - void renderPassNameChanged() Q_DECL_OVERRIDE; -}; - -} // Qt3D - -QT_END_NAMESPACE - -#endif // RENDERPASSFILTERNODE_H |