summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/aspects/qaspectmanager.cpp28
-rw-r--r--src/core/core.pro2
-rw-r--r--src/core/nodes/nodes.pri4
-rw-r--r--src/core/transforms/transforms.pri6
-rw-r--r--src/quick3d/imports/core/core.pro15
-rw-r--r--src/quick3d/imports/core/qmldir3
-rw-r--r--src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp72
-rw-r--r--src/quick3d/imports/core/qt3dquick3dcoreplugin.h59
-rw-r--r--src/quick3d/imports/imports.pro8
-rw-r--r--src/quick3d/imports/render/qmldir3
-rw-r--r--src/quick3d/imports/render/qt3dquick3drenderplugin.cpp91
-rw-r--r--src/quick3d/imports/render/qt3dquick3drenderplugin.h59
-rw-r--r--src/quick3d/imports/render/render.pro15
-rw-r--r--src/quick3d/quick3d.pro36
-rw-r--r--src/quick3d/quick3d/items/items.pri11
-rw-r--r--src/quick3d/quick3d/items/quick3dentity.cpp (renamed from src/core/nodes/quick3dentity.cpp)2
-rw-r--r--src/quick3d/quick3d/items/quick3dentity.h (renamed from src/core/nodes/quick3dentity.h)5
-rw-r--r--src/quick3d/quick3d/items/quick3dnode.cpp (renamed from src/core/nodes/quick3dnode.cpp)0
-rw-r--r--src/quick3d/quick3d/items/quick3dnode.h (renamed from src/core/nodes/quick3dnode.h)6
-rw-r--r--src/quick3d/quick3d/items/quick3dtransform.cpp (renamed from src/core/transforms/quick3dtransform.cpp)0
-rw-r--r--src/quick3d/quick3d/items/quick3dtransform.h (renamed from src/core/transforms/quick3dtransform.h)3
-rw-r--r--src/quick3d/quick3d/qt3dquick_global.h (renamed from src/quick3d/qt3dquick_global.h)0
-rw-r--r--src/quick3d/quick3d/quick3d.pro31
-rw-r--r--src/quick3d/quick3d/quickwindow.cpp (renamed from src/quick3d/quickwindow.cpp)0
-rw-r--r--src/quick3d/quick3d/quickwindow.h (renamed from src/quick3d/quickwindow.h)0
-rw-r--r--src/quick3d/quick3drenderer/items/items.pri17
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dcameraselector.cpp (renamed from src/render/frontend/quick3dcameraselector.cpp)4
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dcameraselector.h (renamed from src/render/frontend/quick3dcameraselector.h)14
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dframegraphitem.cpp (renamed from src/render/frontend/quick3dframegraphitem.cpp)7
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dframegraphitem.h (renamed from src/render/frontend/quick3dframegraphitem.h)15
-rw-r--r--src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp (renamed from src/render/frontend/quick3drenderpassfilter.cpp)4
-rw-r--r--src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h (renamed from src/render/frontend/quick3drenderpassfilter.h)14
-rw-r--r--src/quick3d/quick3drenderer/items/quick3drendertargetselector.cpp (renamed from src/render/frontend/quick3drendertargetselector.cpp)4
-rw-r--r--src/quick3d/quick3drenderer/items/quick3drendertargetselector.h (renamed from src/render/frontend/quick3drendertargetselector.h)14
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dtechniquefilter.cpp (renamed from src/render/frontend/quick3dtechniquefilter.cpp)4
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dtechniquefilter.h (renamed from src/render/frontend/quick3dtechniquefilter.h)14
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dviewport.cpp (renamed from src/render/frontend/quick3dviewport.cpp)4
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dviewport.h (renamed from src/render/frontend/quick3dviewport.h)14
-rw-r--r--src/quick3d/quick3drenderer/qt3dquickrenderer_global.h57
-rw-r--r--src/quick3d/quick3drenderer/quick3drenderer.pro28
-rw-r--r--src/render/backend/rendereraspect.cpp43
-rw-r--r--src/render/frontend/render-frontend.pri16
-rw-r--r--src/render/render.pro2
-rw-r--r--sync.profile3
44 files changed, 572 insertions, 165 deletions
diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp
index 3ddd232d7..058dfc0d7 100644
--- a/src/core/aspects/qaspectmanager.cpp
+++ b/src/core/aspects/qaspectmanager.cpp
@@ -48,26 +48,13 @@
#include "qjobmanagerinterface.h"
#include "qscheduler.h"
#include "qtickclock.h"
-
-#include <node.h>
-#include <entity.h>
-#include <quick3dentity.h>
-#include <camera.h>
-#include <cameralens.h>
-#include <matrixtransform.h>
-#include <rotatetransform.h>
-#include <translatetransform.h>
-#include <lookattransform.h>
-#include <scaletransform.h>
-#include <quick3dtransform.h>
-#include <quick3dnode.h>
+#include "node.h"
#include <QDebug>
#include <QEventLoop>
#include <QThread>
#include <QWaitCondition>
#include <QWindow>
-#include <QtQml>
QT_BEGIN_NAMESPACE
@@ -108,18 +95,7 @@ void QAspectManager::shutdown()
void QAspectManager::registerCoreQmlComponents()
{
qDebug() << Q_FUNC_INFO;
- qmlRegisterUncreatableType<Qt3D::Node>("Qt3D", 2, 0, "Node_priv", "");
- qmlRegisterType<Qt3D::Component>("Qt3D", 2, 0, "Component");
- qmlRegisterType<Qt3D::Camera>("Qt3D", 2, 0, "Camera");
- qmlRegisterType<Qt3D::CameraLens>("Qt3D", 2, 0, "CameraLens");
- qmlRegisterType<Qt3D::MatrixTransform>("Qt3D", 2, 0, "MatrixTransform");
- qmlRegisterType<Qt3D::TranslateTransform>("Qt3D", 2, 0, "Translate");
- qmlRegisterType<Qt3D::RotateTransform>("Qt3D", 2, 0, "Rotate");
- qmlRegisterType<Qt3D::LookAtTransform>("Qt3D", 2, 0, "LookAt");
- qmlRegisterType<Qt3D::ScaleTransform>("Qt3D", 2, 0, "Scale");
- qmlRegisterType<Qt3D::Quick::Quick3DEntity>("Qt3D", 2, 0, "Entity");
- qmlRegisterType<Qt3D::Quick::Quick3DTransform>("Qt3D", 2, 0, "Transform");
- qmlRegisterType<Qt3D::Quick::Quick3DNode>("Qt3D", 2, 0, "Node");
+
}
diff --git a/src/core/core.pro b/src/core/core.pro
index b74e23d1d..edc09fd5b 100644
--- a/src/core/core.pro
+++ b/src/core/core.pro
@@ -1,6 +1,6 @@
TARGET = Qt3DCore
MODULE = 3dcore
-QT = core-private gui-private qml qml-private quick
+QT = core-private gui-private
load(qt_module)
diff --git a/src/core/nodes/nodes.pri b/src/core/nodes/nodes.pri
index 720471b94..9d950271e 100644
--- a/src/core/nodes/nodes.pri
+++ b/src/core/nodes/nodes.pri
@@ -5,8 +5,6 @@ HEADERS += \
$$PWD/nodevisitor.h \
$$PWD/component.h \
$$PWD/entity.h \
- $$PWD/quick3dentity.h \
- $$PWD/quick3dnode.h \
$$PWD/entitynode.h
SOURCES += \
@@ -14,6 +12,4 @@ SOURCES += \
$$PWD/nodevisitor.cpp \
$$PWD/component.cpp \
$$PWD/entity.cpp \
- $$PWD/quick3dentity.cpp \
- $$PWD/quick3dnode.cpp \
$$PWD/entitynode.cpp
diff --git a/src/core/transforms/transforms.pri b/src/core/transforms/transforms.pri
index 026a7d953..9c0baea89 100644
--- a/src/core/transforms/transforms.pri
+++ b/src/core/transforms/transforms.pri
@@ -6,8 +6,7 @@ SOURCES += \
$$PWD/rotatetransform.cpp \
$$PWD/translatetransform.cpp \
$$PWD/scaletransform.cpp \
- $$PWD/transform.cpp \
- $$PWD/quick3dtransform.cpp
+ $$PWD/transform.cpp
HEADERS += \
$$PWD/abstracttransform.h \
@@ -16,7 +15,6 @@ HEADERS += \
$$PWD/rotatetransform.h \
$$PWD/translatetransform.h \
$$PWD/scaletransform.h \
- $$PWD/transform.h \
- $$PWD/quick3dtransform.h
+ $$PWD/transform.h
INCLUDEPATH += $$PWD
diff --git a/src/quick3d/imports/core/core.pro b/src/quick3d/imports/core/core.pro
new file mode 100644
index 000000000..8d866c902
--- /dev/null
+++ b/src/quick3d/imports/core/core.pro
@@ -0,0 +1,15 @@
+CXX_MODULE = qml
+TARGET = quick3dcoreplugin
+TARGETPATH = Qt3D
+
+QT += qml 3dcore 3dquick
+
+HEADERS += \
+ qt3dquick3dcoreplugin.h
+
+SOURCES += \
+ qt3dquick3dcoreplugin.cpp
+
+OTHER_FILES += qmldir
+
+load(qml_plugin)
diff --git a/src/quick3d/imports/core/qmldir b/src/quick3d/imports/core/qmldir
new file mode 100644
index 000000000..0e3b76f75
--- /dev/null
+++ b/src/quick3d/imports/core/qmldir
@@ -0,0 +1,3 @@
+module Qt3D
+plugin quick3dcoreplugin
+classname Qt3DQuick3DCorePlugin
diff --git a/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp b/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp
new file mode 100644
index 000000000..640e06182
--- /dev/null
+++ b/src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** 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 <QtQml>
+#include "qt3dquick3dcoreplugin.h"
+#include <Qt3DQuick/quick3dentity.h>
+#include <Qt3DQuick/quick3dtransform.h>
+#include <Qt3DCore/cameralens.h>
+#include <Qt3DCore/camera.h>
+#include <Qt3DCore/scaletransform.h>
+#include <Qt3DCore/lookattransform.h>
+#include <Qt3DCore/matrixtransform.h>
+#include <Qt3DCore/translatetransform.h>
+#include <Qt3DCore/rotatetransform.h>
+
+QT_BEGIN_NAMESPACE
+
+void Qt3DQuick3DCorePlugin::registerTypes(const char *uri)
+{
+ qmlRegisterUncreatableType<Qt3D::Node>(uri, 2, 0, "Node_priv", "");
+ qmlRegisterType<Qt3D::Component>(uri, 2, 0, "Component");
+ qmlRegisterType<Qt3D::Camera>(uri, 2, 0, "Camera");
+ qmlRegisterType<Qt3D::CameraLens>(uri, 2, 0, "CameraLens");
+ qmlRegisterType<Qt3D::MatrixTransform>(uri, 2, 0, "MatrixTransform");
+ qmlRegisterType<Qt3D::TranslateTransform>(uri, 2, 0, "Translate");
+ qmlRegisterType<Qt3D::RotateTransform>(uri, 2, 0, "Rotate");
+ qmlRegisterType<Qt3D::LookAtTransform>(uri, 2, 0, "LookAt");
+ qmlRegisterType<Qt3D::ScaleTransform>(uri, 2, 0, "Scale");
+ qmlRegisterType<Qt3D::Quick::Quick3DEntity>(uri, 2, 0, "Entity");
+ qmlRegisterType<Qt3D::Quick::Quick3DTransform>(uri, 2, 0, "Transform");
+ qmlRegisterType<Qt3D::Quick::Quick3DNode>(uri, 2, 0, "Node");
+}
+
+QT_END_NAMESPACE
diff --git a/src/quick3d/imports/core/qt3dquick3dcoreplugin.h b/src/quick3d/imports/core/qt3dquick3dcoreplugin.h
new file mode 100644
index 000000000..f76fa5ac1
--- /dev/null
+++ b/src/quick3d/imports/core/qt3dquick3dcoreplugin.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** 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 QT3DQUICK3DCOREPLUGIN_H
+#define QT3DQUICK3DCOREPLUGIN_H
+
+#include <QtQml/QQmlExtensionPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class Qt3DQuick3DCorePlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
+public:
+ void registerTypes(const char *uri) Q_DECL_OVERRIDE;
+};
+
+QT_END_NAMESPACE
+
+#endif // QT3DQUICK3DCOREPLUGIN_H
diff --git a/src/quick3d/imports/imports.pro b/src/quick3d/imports/imports.pro
new file mode 100644
index 000000000..415f533d9
--- /dev/null
+++ b/src/quick3d/imports/imports.pro
@@ -0,0 +1,8 @@
+TEMPLATE=subdirs
+CONFIG += ordered
+
+qtHaveModule(3dcore) {
+SUBDIRS+= \
+ core \
+ render
+}
diff --git a/src/quick3d/imports/render/qmldir b/src/quick3d/imports/render/qmldir
new file mode 100644
index 000000000..6654a6a50
--- /dev/null
+++ b/src/quick3d/imports/render/qmldir
@@ -0,0 +1,3 @@
+module Qt3D.Render
+plugin quick3drenderplugin
+classname Qt3DQuick3DRenderPlugin
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
new file mode 100644
index 000000000..b5c6112e1
--- /dev/null
+++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** 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 <QtQml>
+#include "qt3dquick3drenderplugin.h"
+#include <Qt3DRenderer/scene.h>
+#include <Qt3DRenderer/effect.h>
+#include <Qt3DRenderer/technique.h>
+#include <Qt3DRenderer/tag.h>
+#include <Qt3DRenderer/mesh.h>
+#include <Qt3DRenderer/material.h>
+#include <Qt3DRenderer/renderpass.h>
+#include <Qt3DRenderer/shaderprogram.h>
+#include <Qt3DRenderer/viewport.h>
+#include <Qt3DRenderer/renderpassfilter.h>
+#include <Qt3DRenderer/techniquefilter.h>
+#include <Qt3DRenderer/rendertargetselector.h>
+#include <Qt3DRenderer/shape.h>
+#include <Qt3DRenderer/texture.h>
+#include <Qt3DRenderer/framegraph.h>
+#include <Qt3DQuickRenderer/quick3dcameraselector.h>
+#include <Qt3DQuickRenderer/quick3dtechniquefilter.h>
+#include <Qt3DQuickRenderer/quick3dviewport.h>
+#include <Qt3DQuickRenderer/quick3drenderpassfilter.h>
+#include <Qt3DQuickRenderer/quick3drendertargetselector.h>
+
+QT_BEGIN_NAMESPACE
+
+void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri)
+{
+ qmlRegisterType<Qt3D::Scene>(uri, 2, 0, "Scene");
+ qmlRegisterType<Qt3D::Effect>(uri, 2, 0, "Effect");
+ qmlRegisterType<Qt3D::Technique>(uri, 2, 0, "Technique");
+ qmlRegisterType<Qt3D::Tag>(uri, 2, 0, "Tag");
+ qmlRegisterType<Qt3D::Mesh>(uri, 2, 0, "Mesh");
+ qmlRegisterType<Qt3D::Material>(uri, 2, 0, "Material");
+ qmlRegisterType<Qt3D::RenderPass>(uri, 2, 0, "RenderPass");
+ qmlRegisterType<Qt3D::ShaderProgram>(uri, 2, 0, "ShaderProgram");
+ qmlRegisterType<Qt3D::Shape>(uri, 2, 0, "Shape");
+ qmlRegisterType<Qt3D::QmlTexture>(uri, 2, 0, "Texture");
+ // Framegraph components - TODO RenderTarget, RenderTargetSelector
+ qmlRegisterType<Qt3D::Render::Quick::Quick3DCameraSelector>(uri, 2, 0, "CameraSelector");
+ qmlRegisterType<Qt3D::Render::Quick::Quick3DRenderPassFilter>(uri, 2, 0, "RenderPassFilter");
+ qmlRegisterType<Qt3D::Render::Quick::Quick3DTechniqueFilter>(uri, 2, 0, "TechniqueFilter");
+ qmlRegisterType<Qt3D::Render::Quick::Quick3DViewport>(uri, 2, 0, "Viewport");
+// qmlRegisterType<Qt3D::FrameGraphItem>("Qt3D.Render", 2, 0, "FrameGraphNode");
+ qmlRegisterType<Qt3D::Render::Quick::Quick3DRenderTargetSelector>(uri, 2, 0, "RenderTargetSelector");
+ qmlRegisterType<Qt3D::FrameGraph>(uri, 2, 0, "FrameGraph");
+}
+
+QT_END_NAMESPACE
+
+
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.h b/src/quick3d/imports/render/qt3dquick3drenderplugin.h
new file mode 100644
index 000000000..a28916b51
--- /dev/null
+++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** 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 QT3DQUICK3DRENDERPLUGIN_H
+#define QT3DQUICK3DRENDERPLUGIN_H
+
+#include <QtQml/QQmlExtensionPlugin>
+
+QT_BEGIN_NAMESPACE
+
+class Qt3DQuick3DRenderPlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
+public:
+ void registerTypes(const char *uri) Q_DECL_OVERRIDE;
+};
+
+QT_END_NAMESPACE
+
+#endif // QT3DQUICK3DRENDERPLUGIN_H
diff --git a/src/quick3d/imports/render/render.pro b/src/quick3d/imports/render/render.pro
new file mode 100644
index 000000000..f0df6916f
--- /dev/null
+++ b/src/quick3d/imports/render/render.pro
@@ -0,0 +1,15 @@
+CXX_MODULE = qml
+TARGET = quick3drenderplugin
+TARGETPATH = Qt3D/Render
+
+QT += qml 3dcore 3drenderer 3dquick 3dquickrenderer
+
+HEADERS += \
+ qt3dquick3drenderplugin.h
+
+SOURCES += \
+ qt3dquick3drenderplugin.cpp
+
+OTHER_FILES += qmldir
+
+load(qml_plugin)
diff --git a/src/quick3d/quick3d.pro b/src/quick3d/quick3d.pro
index b05fabd14..90204568d 100644
--- a/src/quick3d/quick3d.pro
+++ b/src/quick3d/quick3d.pro
@@ -1,30 +1,6 @@
-TARGET = Qt3DQuick
-
-QT += core-private gui-private qml qml-private quick 3dcore
-
-DEFINES += QT3DQUICK_LIBRARY
-
-MODULE = 3dquick
-
-load(qt_module)
-
-gcov {
- CONFIG += static
- QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
- QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage
-} else {
- CONFIG += dll
-}
-
-HEADERS += $$PRIVATE_HEADERS \
- qt3dquick_global.h \
- quickwindow.h
-
-!contains(QT_CONFIG, egl):DEFINES += QT_NO_EGL
-
-# otherwise mingw headers do not declare common functions like ::strcasecmp
-win32-g++*:QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
-
-SOURCES += \
- quickwindow.cpp
-
+TEMPLATE = subdirs
+CONFIG += ordered
+SUBDIRS += \
+ quick3d \
+ quick3drenderer \
+ imports
diff --git a/src/quick3d/quick3d/items/items.pri b/src/quick3d/quick3d/items/items.pri
new file mode 100644
index 000000000..19db4cb55
--- /dev/null
+++ b/src/quick3d/quick3d/items/items.pri
@@ -0,0 +1,11 @@
+HEADERS += \
+ $$PWD/quick3dnode.h \
+ $$PWD/quick3dentity.h \
+ $$PWD/quick3dtransform.h \
+
+SOURCES += \
+ $$PWD/quick3dnode.cpp \
+ $$PWD/quick3dentity.cpp \
+ $$PWD/quick3dtransform.cpp \
+
+INCLUDEPATH += $$PWD
diff --git a/src/core/nodes/quick3dentity.cpp b/src/quick3d/quick3d/items/quick3dentity.cpp
index ab49f14ec..227e8b542 100644
--- a/src/core/nodes/quick3dentity.cpp
+++ b/src/quick3d/quick3d/items/quick3dentity.cpp
@@ -40,7 +40,7 @@
****************************************************************************/
#include "quick3dentity.h"
-#include "component.h"
+#include <Qt3DCore/component.h>
QT_BEGIN_NAMESPACE
diff --git a/src/core/nodes/quick3dentity.h b/src/quick3d/quick3d/items/quick3dentity.h
index 069692588..31c9387f9 100644
--- a/src/core/nodes/quick3dentity.h
+++ b/src/quick3d/quick3d/items/quick3dentity.h
@@ -43,8 +43,9 @@
#define QT3D_QUICK_QUICK3DENTITY_H
#include <Qt3DCore/entity.h>
-#include <Qt3DCore/quick3dnode.h>
#include <QQmlListProperty>
+#include <Qt3DQuick/quick3dnode.h>
+#include <Qt3DQuick/qt3dquick_global.h>
QT_BEGIN_NAMESPACE
@@ -54,7 +55,7 @@ class Component;
namespace Quick {
-class Quick3DEntity : public Quick3DNode, public Entity
+class QT3DQUICKSHARED_EXPORT Quick3DEntity : public Quick3DNode, public Entity
{
Q_OBJECT
Q_INTERFACES(Qt3D::Entity)
diff --git a/src/core/nodes/quick3dnode.cpp b/src/quick3d/quick3d/items/quick3dnode.cpp
index 9c1d9560f..9c1d9560f 100644
--- a/src/core/nodes/quick3dnode.cpp
+++ b/src/quick3d/quick3d/items/quick3dnode.cpp
diff --git a/src/core/nodes/quick3dnode.h b/src/quick3d/quick3d/items/quick3dnode.h
index a3d8badd8..9ab75668e 100644
--- a/src/core/nodes/quick3dnode.h
+++ b/src/quick3d/quick3d/items/quick3dnode.h
@@ -42,9 +42,9 @@
#ifndef QT3D_QUICK_QUICK3DNODE_H
#define QT3D_QUICK_QUICK3DNODE_H
-#include <Qt3DCore/node.h>
#include <QQmlListProperty>
-#include <Qt3DCore/qt3dcore_global.h>
+#include <Qt3DCore/node.h>
+#include <Qt3DQuick/qt3dquick_global.h>
QT_BEGIN_NAMESPACE
@@ -52,7 +52,7 @@ namespace Qt3D {
namespace Quick {
-class QT3DCORESHARED_EXPORT Quick3DNode : public Qt3D::Node
+class QT3DQUICKSHARED_EXPORT Quick3DNode : public Qt3D::Node
{
Q_OBJECT
Q_PROPERTY(QQmlListProperty<QObject> data READ data)
diff --git a/src/core/transforms/quick3dtransform.cpp b/src/quick3d/quick3d/items/quick3dtransform.cpp
index cc6ff3ee2..cc6ff3ee2 100644
--- a/src/core/transforms/quick3dtransform.cpp
+++ b/src/quick3d/quick3d/items/quick3dtransform.cpp
diff --git a/src/core/transforms/quick3dtransform.h b/src/quick3d/quick3d/items/quick3dtransform.h
index d6ef323ba..7df06cd89 100644
--- a/src/core/transforms/quick3dtransform.h
+++ b/src/quick3d/quick3d/items/quick3dtransform.h
@@ -45,6 +45,7 @@
#include <QtCore/QtGlobal>
#include <Qt3DCore/transform.h>
#include <QQmlListProperty>
+#include <Qt3DQuick/qt3dquick_global.h>
QT_BEGIN_NAMESPACE
@@ -52,7 +53,7 @@ namespace Qt3D {
namespace Quick {
-class Quick3DTransform : public Transform
+class QT3DQUICKSHARED_EXPORT Quick3DTransform : public Transform
{
Q_OBJECT
Q_PROPERTY(QQmlListProperty<Qt3D::AbstractTransform> transforms READ transformList)
diff --git a/src/quick3d/qt3dquick_global.h b/src/quick3d/quick3d/qt3dquick_global.h
index a3c45d7f0..a3c45d7f0 100644
--- a/src/quick3d/qt3dquick_global.h
+++ b/src/quick3d/quick3d/qt3dquick_global.h
diff --git a/src/quick3d/quick3d/quick3d.pro b/src/quick3d/quick3d/quick3d.pro
new file mode 100644
index 000000000..506725004
--- /dev/null
+++ b/src/quick3d/quick3d/quick3d.pro
@@ -0,0 +1,31 @@
+TARGET = Qt3DQuick
+
+QT += core-private gui-private qml qml-private quick 3dcore
+
+DEFINES += QT3DQUICK_LIBRARY
+
+MODULE = 3dquick
+
+load(qt_module)
+
+gcov {
+ CONFIG += static
+ QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
+ QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage
+} else {
+ CONFIG += dll
+}
+
+HEADERS += $$PRIVATE_HEADERS \
+ qt3dquick_global.h \
+ quickwindow.h
+
+SOURCES += quickwindow.cpp
+
+!contains(QT_CONFIG, egl):DEFINES += QT_NO_EGL
+
+# otherwise mingw headers do not declare common functions like ::strcasecmp
+win32-g++*:QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
+
+include(./items/items.pri)
+
diff --git a/src/quick3d/quickwindow.cpp b/src/quick3d/quick3d/quickwindow.cpp
index 339084acf..339084acf 100644
--- a/src/quick3d/quickwindow.cpp
+++ b/src/quick3d/quick3d/quickwindow.cpp
diff --git a/src/quick3d/quickwindow.h b/src/quick3d/quick3d/quickwindow.h
index f104fe7c0..f104fe7c0 100644
--- a/src/quick3d/quickwindow.h
+++ b/src/quick3d/quick3d/quickwindow.h
diff --git a/src/quick3d/quick3drenderer/items/items.pri b/src/quick3d/quick3drenderer/items/items.pri
new file mode 100644
index 000000000..019b566f3
--- /dev/null
+++ b/src/quick3d/quick3drenderer/items/items.pri
@@ -0,0 +1,17 @@
+HEADERS += \
+ $$PWD/quick3dcameraselector.h \
+ $$PWD/quick3dframegraphitem.h \
+ $$PWD/quick3drenderpassfilter.h \
+ $$PWD/quick3drendertargetselector.h \
+ $$PWD/quick3dtechniquefilter.h \
+ $$PWD/quick3dviewport.h
+
+SOURCES += \
+ $$PWD/quick3dcameraselector.cpp \
+ $$PWD/quick3dframegraphitem.cpp \
+ $$PWD/quick3drenderpassfilter.cpp \
+ $$PWD/quick3drendertargetselector.cpp \
+ $$PWD/quick3dtechniquefilter.cpp \
+ $$PWD/quick3dviewport.cpp
+
+INCLUDEPATH += $$PWD
diff --git a/src/render/frontend/quick3dcameraselector.cpp b/src/quick3d/quick3drenderer/items/quick3dcameraselector.cpp
index 8fa8f2804..92015e268 100644
--- a/src/render/frontend/quick3dcameraselector.cpp
+++ b/src/quick3d/quick3drenderer/items/quick3dcameraselector.cpp
@@ -45,6 +45,8 @@ QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
Quick3DCameraSelector::Quick3DCameraSelector(Node *parent)
@@ -55,6 +57,8 @@ Quick3DCameraSelector::Quick3DCameraSelector(Node *parent)
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/quick3dcameraselector.h b/src/quick3d/quick3drenderer/items/quick3dcameraselector.h
index 3c80bdb9c..015831d83 100644
--- a/src/render/frontend/quick3dcameraselector.h
+++ b/src/quick3d/quick3drenderer/items/quick3dcameraselector.h
@@ -39,19 +39,21 @@
**
****************************************************************************/
-#ifndef QT3D_QUICK_QUICK3DCAMERASELECTOR_H
-#define QT3D_QUICK_QUICK3DCAMERASELECTOR_H
+#ifndef QT3D_RENDER_QUICK_QUICK3DCAMERASELECTOR_H
+#define QT3D_RENDER_QUICK_QUICK3DCAMERASELECTOR_H
-#include <Qt3DRenderer/quick3dframegraphitem.h>
+#include <Qt3DQuickRenderer/quick3dframegraphitem.h>
#include <Qt3DRenderer/cameraselector.h>
QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
-class Quick3DCameraSelector : public Quick3DFrameGraphItem, public virtual CameraSelector
+class QT3DQUICKRENDERERSHARED_EXPORT Quick3DCameraSelector : public Quick3DFrameGraphItem, public virtual CameraSelector
{
Q_OBJECT
Q_INTERFACES(Qt3D::CameraSelector)
@@ -65,8 +67,10 @@ Q_SIGNALS:
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
-#endif // QUICK3DCAMERASELECTOR_H
+#endif // QT3D_RENDER_QUICK_QUICK3DCAMERASELECTOR_H
diff --git a/src/render/frontend/quick3dframegraphitem.cpp b/src/quick3d/quick3drenderer/items/quick3dframegraphitem.cpp
index 42003274d..72c1110b8 100644
--- a/src/render/frontend/quick3dframegraphitem.cpp
+++ b/src/quick3d/quick3drenderer/items/quick3dframegraphitem.cpp
@@ -40,16 +40,17 @@
****************************************************************************/
#include "quick3dframegraphitem.h"
-#include "framegraphitem_p.h"
QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
Quick3DFrameGraphItem::Quick3DFrameGraphItem(Node *parent)
- : Quick3DNode(parent)
+ : Qt3D::Quick::Quick3DNode(parent)
, FrameGraphItem()
{
}
@@ -60,6 +61,8 @@ Quick3DFrameGraphItem::~Quick3DFrameGraphItem()
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/quick3dframegraphitem.h b/src/quick3d/quick3drenderer/items/quick3dframegraphitem.h
index 220a74a26..fb8210d8b 100644
--- a/src/render/frontend/quick3dframegraphitem.h
+++ b/src/quick3d/quick3drenderer/items/quick3dframegraphitem.h
@@ -39,21 +39,22 @@
**
****************************************************************************/
-#ifndef QT3D_QUICK_QUICK3DFRAMEGRAPHITEM_H
-#define QT3D_QUICK_QUICK3DFRAMEGRAPHITEM_H
+#ifndef QT3D_RENDER_QUICK_QUICK3DFRAMEGRAPHITEM_H
+#define QT3D_RENDER_QUICK_QUICK3DFRAMEGRAPHITEM_H
-#include <Qt3DCore/quick3dnode.h>
+#include <Qt3DQuickRenderer/qt3dquickrenderer_global.h>
+#include <Qt3DQuick/quick3dnode.h>
#include <Qt3DRenderer/framegraphitem.h>
QT_BEGIN_NAMESPACE
namespace Qt3D {
-class FrameGraphItemPrivate;
+namespace Render {
namespace Quick {
-class Quick3DFrameGraphItem : public Quick3DNode, public FrameGraphItem
+class QT3DQUICKRENDERERSHARED_EXPORT Quick3DFrameGraphItem : public Qt3D::Quick::Quick3DNode, public FrameGraphItem
{
Q_OBJECT
Q_INTERFACES(Qt3D::FrameGraphItem)
@@ -70,8 +71,10 @@ Q_SIGNALS:
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
-#endif // QT3D_QUICK_QUICK3DFRAMEGRAPHITEM_H
+#endif // QT3D_RENDER_QUICK_QUICK3DFRAMEGRAPHITEM_H
diff --git a/src/render/frontend/quick3drenderpassfilter.cpp b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp
index 23dcf4784..fc935983d 100644
--- a/src/render/frontend/quick3drenderpassfilter.cpp
+++ b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.cpp
@@ -45,6 +45,8 @@ QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
Quick3DRenderPassFilter::Quick3DRenderPassFilter(Node *parent)
@@ -55,6 +57,8 @@ Quick3DRenderPassFilter::Quick3DRenderPassFilter(Node *parent)
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/quick3drenderpassfilter.h b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h
index b925582fb..dead1314a 100644
--- a/src/render/frontend/quick3drenderpassfilter.h
+++ b/src/quick3d/quick3drenderer/items/quick3drenderpassfilter.h
@@ -39,19 +39,21 @@
**
****************************************************************************/
-#ifndef QT3D_QUICK_QUICK3DRENDERPASSFILTER_H
-#define QT3D_QUICK_QUICK3DRENDERPASSFILTER_H
+#ifndef QT3D_RENDER_QUICK_QUICK3DRENDERPASSFILTER_H
+#define QT3D_RENDER_QUICK_QUICK3DRENDERPASSFILTER_H
-#include <Qt3DRenderer/quick3dframegraphitem.h>
+#include <Qt3DQuickRenderer/quick3dframegraphitem.h>
#include <Qt3DRenderer/renderpassfilter.h>
QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
-class Quick3DRenderPassFilter : public Quick3DFrameGraphItem, public virtual RenderPassFilter
+class QT3DQUICKRENDERERSHARED_EXPORT Quick3DRenderPassFilter : public Quick3DFrameGraphItem, public virtual RenderPassFilter
{
Q_OBJECT
Q_INTERFACES(Qt3D::RenderPassFilter)
@@ -67,8 +69,10 @@ Q_SIGNALS:
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
-#endif // QT3D_QUICK_QUICK3DRENDERPASSFILTER_H
+#endif // QT3D_RENDER_QUICK_QUICK3DRENDERPASSFILTER_H
diff --git a/src/render/frontend/quick3drendertargetselector.cpp b/src/quick3d/quick3drenderer/items/quick3drendertargetselector.cpp
index f0aa1df95..bac614668 100644
--- a/src/render/frontend/quick3drendertargetselector.cpp
+++ b/src/quick3d/quick3drenderer/items/quick3drendertargetselector.cpp
@@ -45,6 +45,8 @@ QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
Quick3DRenderTargetSelector::Quick3DRenderTargetSelector(Node * parent)
@@ -55,6 +57,8 @@ Quick3DRenderTargetSelector::Quick3DRenderTargetSelector(Node * parent)
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/quick3drendertargetselector.h b/src/quick3d/quick3drenderer/items/quick3drendertargetselector.h
index ca24e7736..a3afbd852 100644
--- a/src/render/frontend/quick3drendertargetselector.h
+++ b/src/quick3d/quick3drenderer/items/quick3drendertargetselector.h
@@ -39,19 +39,21 @@
**
****************************************************************************/
-#ifndef QT3D_QUICK_QUICK3DRENDERTARGETSELECTOR_H
-#define QT3D_QUICK_QUICK3DRENDERTARGETSELECTOR_H
+#ifndef QT3D_RENDER_QUICK_QUICK3DRENDERTARGETSELECTOR_H
+#define QT3D_RENDER_QUICK_QUICK3DRENDERTARGETSELECTOR_H
-#include <Qt3DRenderer/quick3dframegraphitem.h>
+#include <Qt3DQuickRenderer/quick3dframegraphitem.h>
#include <Qt3DRenderer/rendertargetselector.h>
QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
-class Quick3DRenderTargetSelector : public Quick3DFrameGraphItem, public virtual RenderTargetSelector
+class QT3DQUICKRENDERERSHARED_EXPORT Quick3DRenderTargetSelector : public Quick3DFrameGraphItem, public virtual RenderTargetSelector
{
Q_OBJECT
Q_INTERFACES(Qt3D::RenderTargetSelector)
@@ -64,8 +66,10 @@ Q_SIGNALS:
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
-#endif // QT3D_QUICK_QUICK3DRENDERTARGETSELECTOR_H
+#endif // QT3D_RENDER_QUICK_QUICK3DRENDERTARGETSELECTOR_H
diff --git a/src/render/frontend/quick3dtechniquefilter.cpp b/src/quick3d/quick3drenderer/items/quick3dtechniquefilter.cpp
index a05ed33a0..bbe50dcb6 100644
--- a/src/render/frontend/quick3dtechniquefilter.cpp
+++ b/src/quick3d/quick3drenderer/items/quick3dtechniquefilter.cpp
@@ -45,6 +45,8 @@ QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
Quick3DTechniqueFilter::Quick3DTechniqueFilter(Node *parent)
@@ -98,6 +100,8 @@ void Quick3DTechniqueFilter::clearTags(QQmlListProperty<Tag> *list)
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/quick3dtechniquefilter.h b/src/quick3d/quick3drenderer/items/quick3dtechniquefilter.h
index 8e943a291..1ca6ce9b2 100644
--- a/src/render/frontend/quick3dtechniquefilter.h
+++ b/src/quick3d/quick3drenderer/items/quick3dtechniquefilter.h
@@ -39,10 +39,10 @@
**
****************************************************************************/
-#ifndef QT3D_QUICK_QUICK3DTECHNIQUEFILTER_H
-#define QT3D_QUICK_QUICK3DTECHNIQUEFILTER_H
+#ifndef QT3D_RENDER_QUICK_QUICK3DTECHNIQUEFILTER_H
+#define QT3D_RENDER_QUICK_QUICK3DTECHNIQUEFILTER_H
-#include <Qt3DRenderer/quick3dframegraphitem.h>
+#include <Qt3DQuickRenderer/quick3dframegraphitem.h>
#include <Qt3DRenderer/techniquefilter.h>
#include <QQmlListProperty>
@@ -50,11 +50,11 @@ QT_BEGIN_NAMESPACE
namespace Qt3D {
-class TechniqueFilterPrivate;
+namespace Render {
namespace Quick {
-class Quick3DTechniqueFilter : public Quick3DFrameGraphItem, public virtual TechniqueFilter
+class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTechniqueFilter : public Quick3DFrameGraphItem, public virtual TechniqueFilter
{
Q_OBJECT
Q_INTERFACES(Qt3D::TechniqueFilter)
@@ -78,8 +78,10 @@ private:
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
-#endif // QT3D_QUICK_QUICK3DTECHNIQUEFILTER_H
+#endif // QT3D_RENDER_QUICK_QUICK3DTECHNIQUEFILTER_H
diff --git a/src/render/frontend/quick3dviewport.cpp b/src/quick3d/quick3drenderer/items/quick3dviewport.cpp
index afdb9abea..bf32b92d6 100644
--- a/src/render/frontend/quick3dviewport.cpp
+++ b/src/quick3d/quick3drenderer/items/quick3dviewport.cpp
@@ -45,6 +45,8 @@ QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
Quick3DViewport::Quick3DViewport(Node *parent)
@@ -55,6 +57,8 @@ Quick3DViewport::Quick3DViewport(Node *parent)
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
diff --git a/src/render/frontend/quick3dviewport.h b/src/quick3d/quick3drenderer/items/quick3dviewport.h
index 2833c0d25..0e488afa8 100644
--- a/src/render/frontend/quick3dviewport.h
+++ b/src/quick3d/quick3drenderer/items/quick3dviewport.h
@@ -39,19 +39,21 @@
**
****************************************************************************/
-#ifndef QT3D_QUICK_QUICK3DVIEWPORT_H
-#define QT3D_QUICK_QUICK3DVIEWPORT_H
+#ifndef QT3D_RENDER_QUICK_QUICK3DVIEWPORT_H
+#define QT3D_RENDER_QUICK_QUICK3DVIEWPORT_H
-#include <Qt3DRenderer/quick3dframegraphitem.h>
+#include <Qt3DQuickRenderer/quick3dframegraphitem.h>
#include <Qt3DRenderer/viewport.h>
QT_BEGIN_NAMESPACE
namespace Qt3D {
+namespace Render {
+
namespace Quick {
-class Quick3DViewport : public Quick3DFrameGraphItem, public virtual Viewport
+class QT3DQUICKRENDERERSHARED_EXPORT Quick3DViewport : public Quick3DFrameGraphItem, public virtual Viewport
{
Q_OBJECT
Q_INTERFACES(Qt3D::Viewport)
@@ -66,9 +68,11 @@ Q_SIGNALS:
} // Quick
+} // Render
+
} // Qt3D
QT_END_NAMESPACE
-#endif // QUICK3DVIEWPORT_H
+#endif // QT3D_RENDER_QUICK_QUICK3DVIEWPORT_H
diff --git a/src/quick3d/quick3drenderer/qt3dquickrenderer_global.h b/src/quick3d/quick3drenderer/qt3dquickrenderer_global.h
new file mode 100644
index 000000000..5b27ee82c
--- /dev/null
+++ b/src/quick3d/quick3drenderer/qt3dquickrenderer_global.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 QT3DQUICKRENDERER_GLOBAL_H
+#define QT3DQUICKRENDERER_GLOBAL_H
+
+#include <QtCore/qglobal.h>
+
+QT_BEGIN_NAMESPACE
+
+#if defined(QT3DQUICKRENDERER_LIBRARY)
+# define QT3DQUICKRENDERERSHARED_EXPORT Q_DECL_EXPORT
+#else
+# define QT3DQUICKRENDERERSHARED_EXPORT Q_DECL_IMPORT
+#endif
+
+QT_END_NAMESPACE
+
+#endif // QT3DQUICKRENDERER_GLOBAL_H
diff --git a/src/quick3d/quick3drenderer/quick3drenderer.pro b/src/quick3d/quick3drenderer/quick3drenderer.pro
new file mode 100644
index 000000000..a96a8e363
--- /dev/null
+++ b/src/quick3d/quick3drenderer/quick3drenderer.pro
@@ -0,0 +1,28 @@
+TARGET = Qt3DQuickRenderer
+
+QT += core qml quick 3dcore 3drenderer 3dquick
+
+DEFINES += QT3DQUICKRENDERER_LIBRARY
+
+MODULE = 3dquickrenderer
+
+load(qt_module)
+
+gcov {
+ CONFIG += static
+ QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
+ QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage
+} else {
+ CONFIG += dll
+}
+
+HEADERS += $$PRIVATE_HEADERS \
+ qt3dquickrenderer_global.h
+
+!contains(QT_CONFIG, egl):DEFINES += QT_NO_EGL
+
+# otherwise mingw headers do not declare common functions like ::strcasecmp
+win32-g++*:QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
+
+include(./items/items.pri)
+
diff --git a/src/render/backend/rendereraspect.cpp b/src/render/backend/rendereraspect.cpp
index 68079742c..9d63c9f68 100644
--- a/src/render/backend/rendereraspect.cpp
+++ b/src/render/backend/rendereraspect.cpp
@@ -55,29 +55,6 @@
#include <QThread>
#include <QWindow>
-#include <QtQml>
-
-#include "scene.h"
-#include "effect.h"
-#include "technique.h"
-#include "tag.h"
-#include "mesh.h"
-#include "material.h"
-#include "renderpass.h"
-#include "shaderprogram.h"
-#include "viewport.h"
-#include "quick3dcameraselector.h"
-#include "quick3dtechniquefilter.h"
-#include "quick3dviewport.h"
-#include "quick3drenderpassfilter.h"
-#include "quick3drendertargetselector.h"
-#include "renderpassfilter.h"
-#include "techniquefilter.h"
-#include "rendertargetselector.h"
-#include "shape.h"
-#include "texture.h"
-#include "framegraph.h"
-
QT_BEGIN_NAMESPACE
namespace Qt3D {
@@ -175,26 +152,6 @@ void RendererAspect::cleanupHelper()
*/
void RendererAspect::registerQmlComponents()
{
- qmlRegisterType<Qt3D::Scene>("Qt3D.Render", 2, 0, "Scene");
- qmlRegisterType<Qt3D::Effect>("Qt3D.Render", 2, 0, "Effect");
- qmlRegisterType<Qt3D::Technique>("Qt3D.Render", 2, 0, "Technique");
- qmlRegisterType<Qt3D::Tag>("Qt3D.Render", 2, 0, "Tag");
- qmlRegisterType<Qt3D::Mesh>("Qt3D.Render", 2, 0, "Mesh");
- qmlRegisterType<Qt3D::Material>("Qt3D.Render", 2, 0, "Material");
- qmlRegisterType<Qt3D::RenderPass>("Qt3D.Render", 2, 0, "RenderPass");
- qmlRegisterType<Qt3D::ShaderProgram>("Qt3D.Render", 2, 0, "ShaderProgram");
-
- qmlRegisterType<Qt3D::Shape>("Qt3D.Render", 2, 0, "Shape");
- qmlRegisterType<Qt3D::QmlTexture>("Qt3D.Render", 2, 0, "Texture");
-
- // Framegraph components - TODO RenderTarget, RenderTargetSelector
- qmlRegisterType<Qt3D::Quick::Quick3DCameraSelector>("Qt3D.Render", 2, 0, "CameraSelector");
- qmlRegisterType<Qt3D::Quick::Quick3DRenderPassFilter>("Qt3D.Render", 2, 0, "RenderPassFilter");
- qmlRegisterType<Qt3D::Quick::Quick3DTechniqueFilter>("Qt3D.Render", 2, 0, "TechniqueFilter");
- qmlRegisterType<Qt3D::Quick::Quick3DViewport>("Qt3D.Render", 2, 0, "Viewport");
-// qmlRegisterType<Qt3D::FrameGraphItem>("Qt3D.Render", 2, 0, "FrameGraphNode");
- qmlRegisterType<Qt3D::Quick::Quick3DRenderTargetSelector>("Qt3D.Render", 2, 0, "RenderTargetSelector");
- qmlRegisterType<Qt3D::FrameGraph>("Qt3D.Render", 2, 0, "FrameGraph");
}
}
diff --git a/src/render/frontend/render-frontend.pri b/src/render/frontend/render-frontend.pri
index 8c4658908..4c8d44515 100644
--- a/src/render/frontend/render-frontend.pri
+++ b/src/render/frontend/render-frontend.pri
@@ -25,13 +25,7 @@ HEADERS += \
$$PWD/cameraselectoritem.h \
$$PWD/renderpassfilteritem.h \
$$PWD/techniquefilteritem.h \
- $$PWD/rendertargetselectoritem.h \
- $$PWD/quick3dtechniquefilter.h \
- $$PWD/quick3dframegraphitem.h \
- $$PWD/quick3dviewport.h \
- $$PWD/quick3dcameraselector.h \
- $$PWD/quick3drenderpassfilter.h \
- $$PWD/quick3drendertargetselector.h
+ $$PWD/rendertargetselectoritem.h
SOURCES += \
$$PWD/effect.cpp \
@@ -51,10 +45,4 @@ SOURCES += \
$$PWD/cameraselectoritem.cpp \
$$PWD/techniquefilteritem.cpp \
$$PWD/renderpassfilteritem.cpp \
- $$PWD/rendertargetselectoritem.cpp \
- $$PWD/quick3dtechniquefilter.cpp \
- $$PWD/quick3dframegraphitem.cpp \
- $$PWD/quick3dviewport.cpp \
- $$PWD/quick3dcameraselector.cpp \
- $$PWD/quick3drenderpassfilter.cpp \
- $$PWD/quick3drendertargetselector.cpp
+ $$PWD/rendertargetselectoritem.cpp
diff --git a/src/render/render.pro b/src/render/render.pro
index ff1d30266..65e239696 100644
--- a/src/render/render.pro
+++ b/src/render/render.pro
@@ -1,6 +1,6 @@
TARGET = Qt3DRenderer
-QT += core-private gui-private qml qml-private quick 3dcore
+QT += core-private gui-private qml 3dcore
DEFINES += QT3DRENDERER_LIBRARY
diff --git a/sync.profile b/sync.profile
index 97e0ab4ad..9515e877e 100644
--- a/sync.profile
+++ b/sync.profile
@@ -1,7 +1,8 @@
%modules = ( # path to module name map
"Qt3DCore" => "$basedir/src/core",
"Qt3DRenderer" => "$basedir/src/render",
- "Qt3DQuick" => "$basedir/src/quick3d",
+ "Qt3DQuick" => "$basedir/src/quick3d/quick3d",
+ "Qt3DQuickRenderer" => "$basedir/src/quick3d/quick3drenderer",
);
%moduleheaders = ( # restrict the module headers to those found in relative path
);