summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-06-02 14:46:13 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-06-02 20:07:33 +0200
commit50f73e80c9da75a092f4e92dab3b08ca74dd91f6 (patch)
tree46f86c5146109e0a8413d67adc09d6e67755d7a2
parentb41cb926b87db3b437fa833d1ca266b9adf3ac0e (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.cpp4
-rw-r--r--src/quick3d/imports/render/qt3dquick3drenderplugin.cpp2
-rw-r--r--src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp5
-rw-r--r--src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h12
-rw-r--r--src/render/frontend/render-frontend.pri2
-rw-r--r--src/render/frontend/renderpassfilter.h16
-rw-r--r--src/render/frontend/renderpassfilteritem.cpp56
-rw-r--r--src/render/frontend/renderpassfilteritem.h71
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