diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-01-15 15:09:44 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-01-16 17:17:49 +0000 |
commit | b0404a42ced2ea5a583e1c6ddc22940ffdc1e48e (patch) | |
tree | b073c3c680e388bda00228b204743b092b11de6a /examples | |
parent | 8656b95ffb67efe7dd1cc3a65b12d277e83e1d22 (diff) |
Move QCamera/QCameraLens to Qt3DRender
Also get rid of Qt3DRender::QWindow and of the hard codes camera
controller.
Change-Id: I307735d01caf97b7a690b28de8dc99fc9866c35f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/qt3d/assimp-cpp/main.cpp | 17 | ||||
-rw-r--r-- | examples/qt3d/basicshapes-cpp/main.cpp | 17 | ||||
-rw-r--r-- | examples/qt3d/bigscene-cpp/main.cpp | 16 | ||||
-rw-r--r-- | examples/qt3d/cpp_example/main.cpp | 18 | ||||
-rw-r--r-- | examples/qt3d/custom-mesh-cpp/main.cpp | 19 | ||||
-rw-r--r-- | examples/qt3d/cylinder-cpp/main.cpp | 27 | ||||
-rw-r--r-- | examples/qt3d/deferred-renderer-cpp/main.cpp | 23 | ||||
-rw-r--r-- | examples/qt3d/dynamicscene-cpp/main.cpp | 16 | ||||
-rw-r--r-- | examples/qt3d/examples-common/qfirstpersoncameracontroller.cpp | 6 | ||||
-rw-r--r-- | examples/qt3d/examples-common/qfirstpersoncameracontroller.h | 8 | ||||
-rw-r--r-- | examples/qt3d/examples-common/qfirstpersoncameracontroller_p.h | 4 | ||||
-rw-r--r-- | examples/qt3d/examples-common/qt3dwindow.cpp | 16 | ||||
-rw-r--r-- | examples/qt3d/examples-common/qt3dwindow.h | 8 | ||||
-rw-r--r-- | examples/qt3d/materials-cpp/main.cpp | 16 | ||||
-rw-r--r-- | examples/qt3d/simple-cpp/main.cpp | 14 |
15 files changed, 122 insertions, 103 deletions
diff --git a/examples/qt3d/assimp-cpp/main.cpp b/examples/qt3d/assimp-cpp/main.cpp index 59f49a8fb..660cef2fd 100644 --- a/examples/qt3d/assimp-cpp/main.cpp +++ b/examples/qt3d/assimp-cpp/main.cpp @@ -37,7 +37,7 @@ #include <QFileDialog> #include <QApplication> -#include <Qt3DCore/QCamera> +#include <Qt3DRender/QCamera> #include <Qt3DCore/QEntity> #include <Qt3DCore/QAspectEngine> #include <Qt3DInput/QInputAspect> @@ -45,7 +45,8 @@ #include <Qt3DRender/QSceneLoader> #include <Qt3DRender/QRenderAspect> #include <Qt3DRender/QForwardRenderer> -#include <Qt3DRender/QWindow> +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" class SceneWalker : public QObject { @@ -103,17 +104,14 @@ void SceneWalker::walkEntity(Qt3DCore::QEntity *e, int depth) int main(int ac, char **av) { QApplication app(ac, av); - - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *inputAspect = new Qt3DInput::QInputAspect(); - view.registerAspect(inputAspect); + Qt3DWindow view; // Root entity Qt3DCore::QEntity *sceneRoot = new Qt3DCore::QEntity(); // Scene Camera - Qt3DCore::QCamera *basicCamera = view.defaultCamera(); - basicCamera->setProjectionType(Qt3DCore::QCameraLens::PerspectiveProjection); + Qt3DRender::QCamera *basicCamera = view.camera(); + basicCamera->setProjectionType(Qt3DRender::QCameraLens::PerspectiveProjection); basicCamera->setAspectRatio(view.width() / view.height()); basicCamera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); basicCamera->setViewCenter(QVector3D(0.0f, 3.5f, 0.0f)); @@ -121,7 +119,8 @@ int main(int ac, char **av) basicCamera->setNearPlane(0.001f); basicCamera->setFarPlane(10000.0f); // For camera controls - inputAspect->setCamera(basicCamera); + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(sceneRoot); + camController->setCamera(basicCamera); // Forward Renderer FrameGraph Qt3DRender::QFrameGraph *frameGraphComponent = new Qt3DRender::QFrameGraph(sceneRoot); diff --git a/examples/qt3d/basicshapes-cpp/main.cpp b/examples/qt3d/basicshapes-cpp/main.cpp index f7e50fdd5..586647849 100644 --- a/examples/qt3d/basicshapes-cpp/main.cpp +++ b/examples/qt3d/basicshapes-cpp/main.cpp @@ -38,9 +38,9 @@ #include <QGuiApplication> -#include <Qt3DCore/qcamera.h> +#include <Qt3DRender/qcamera.h> #include <Qt3DCore/qentity.h> -#include <Qt3DCore/qcameralens.h> +#include <Qt3DRender/qcameralens.h> #include <QtWidgets/QApplication> #include <QtWidgets/QWidget> @@ -59,7 +59,6 @@ #include <Qt3DRender/qtexture.h> #include <Qt3DRender/qrenderpass.h> #include <Qt3DRender/qsceneloader.h> -#include <Qt3DRender/qwindow.h> #include <Qt3DCore/qtransform.h> #include <Qt3DCore/qaspectengine.h> @@ -68,10 +67,13 @@ #include <Qt3DRender/qframegraph.h> #include <Qt3DRender/qforwardrenderer.h> +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" + int main(int argc, char **argv) { QApplication app(argc, argv); - Qt3DRender::QWindow *view = new Qt3DRender::QWindow(); + Qt3DWindow *view = new Qt3DWindow(); QWidget *container = QWidget::createWindowContainer(view); QSize screenSize = view->screen()->size(); container->setMinimumSize(QSize(200, 100)); @@ -93,13 +95,16 @@ int main(int argc, char **argv) Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); // Camera - Qt3DCore::QCamera *cameraEntity = view->defaultCamera(); + Qt3DRender::QCamera *cameraEntity = view->camera(); cameraEntity->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); cameraEntity->setPosition(QVector3D(0, 0, 20.0f)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); cameraEntity->setViewCenter(QVector3D(0, 0, 0)); - input->setCamera(cameraEntity); + + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(rootEntity); + camController->setCamera(cameraEntity); // FrameGraph Qt3DRender::QFrameGraph *frameGraph = new Qt3DRender::QFrameGraph(); diff --git a/examples/qt3d/bigscene-cpp/main.cpp b/examples/qt3d/bigscene-cpp/main.cpp index 6cd25a5b4..46e4acb0b 100644 --- a/examples/qt3d/bigscene-cpp/main.cpp +++ b/examples/qt3d/bigscene-cpp/main.cpp @@ -42,7 +42,7 @@ #include <QUrl> #include <QTimer> #include <Qt3DCore/QEntity> -#include <Qt3DCore/QCamera> +#include <Qt3DRender/QCamera> #include <Qt3DCore/QTransform> #include <Qt3DCore/qaspectengine.h> #include <Qt3DInput/QInputAspect> @@ -53,8 +53,9 @@ #include <Qt3DRender/QCameraSelector> #include <Qt3DRender/QPhongMaterial> #include <Qt3DRender/QForwardRenderer> -#include <Qt3DRender/QWindow> #include <qmath.h> +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" using namespace Qt3DCore; using namespace Qt3DRender; @@ -63,19 +64,20 @@ int main(int ac, char **av) { QGuiApplication app(ac, av); - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; - view.registerAspect(input); + Qt3DWindow view; QEntity *root = new QEntity(); // Camera - QCamera *cameraEntity = view.defaultCamera(); + QCamera *cameraEntity = view.camera(); cameraEntity->setObjectName(QStringLiteral("cameraEntity")); cameraEntity->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); cameraEntity->setPosition(QVector3D(0, 250.0f, 50.0f)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); cameraEntity->setViewCenter(QVector3D(0, 0, 0)); - input->setCamera(cameraEntity); + + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(root); + camController->setCamera(cameraEntity); // FrameGraph QFrameGraph *frameGraph = new QFrameGraph(); diff --git a/examples/qt3d/cpp_example/main.cpp b/examples/qt3d/cpp_example/main.cpp index 955e0d593..9e7708abf 100644 --- a/examples/qt3d/cpp_example/main.cpp +++ b/examples/qt3d/cpp_example/main.cpp @@ -36,9 +36,9 @@ #include <QGuiApplication> -#include <Qt3DCore/qcamera.h> +#include <Qt3DRender/qcamera.h> #include <Qt3DCore/qentity.h> -#include <Qt3DCore/qcameralens.h> +#include <Qt3DRender/qcameralens.h> #include <Qt3DCore/qaspectengine.h> #include <Qt3DCore/qtransform.h> @@ -59,15 +59,14 @@ #include <Qt3DRender/qrenderaspect.h> #include <Qt3DRender/qframegraph.h> #include <Qt3DRender/qclearbuffer.h> -#include <Qt3DRender/qwindow.h> +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" int main(int ac, char **av) { QGuiApplication app(ac, av); - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; - view.registerAspect(input); + Qt3DWindow view; // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); @@ -99,13 +98,16 @@ int main(int ac, char **av) sceneEntity->addComponent(scene); // Camera - Qt3DCore::QCamera *cameraEntity = view.defaultCamera(); + Qt3DRender::QCamera *cameraEntity = view.camera(); cameraEntity->setObjectName(QStringLiteral("cameraEntity")); cameraEntity->lens()->setPerspectiveProjection(60.0f, 16.0f/9.0f, 0.1f, 1000.0f); cameraEntity->setPosition(QVector3D(5, 0, 20.0f)); cameraEntity->setViewCenter(QVector3D(11, 0, 5)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); - input->setCamera(cameraEntity); + + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(rootEntity); + camController->setCamera(cameraEntity); // FrameGraph Qt3DRender::QFrameGraph *frameGraph = new Qt3DRender::QFrameGraph(); diff --git a/examples/qt3d/custom-mesh-cpp/main.cpp b/examples/qt3d/custom-mesh-cpp/main.cpp index 6bd75dff7..0b412f857 100644 --- a/examples/qt3d/custom-mesh-cpp/main.cpp +++ b/examples/qt3d/custom-mesh-cpp/main.cpp @@ -37,8 +37,8 @@ #include <QGuiApplication> #include <Qt3DCore/QEntity> -#include <Qt3DCore/QCamera> -#include <Qt3DCore/QCameraLens> +#include <Qt3DRender/QCamera> +#include <Qt3DRender/QCameraLens> #include <Qt3DCore/QTransform> #include <Qt3DCore/QAspectEngine> @@ -54,29 +54,30 @@ #include <Qt3DRender/QGeometry> #include <Qt3DRender/QAttribute> #include <Qt3DRender/QBuffer> -#include <Qt3DRender/QWindow> #include <QPropertyAnimation> +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" int main(int argc, char* argv[]) { QGuiApplication app(argc, argv); - Qt3DRender::QWindow view; - - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; - view.registerAspect(input); + Qt3DWindow view; // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); // Camera - Qt3DCore::QCamera *cameraEntity = view.defaultCamera(); + Qt3DRender::QCamera *cameraEntity = view.camera(); cameraEntity->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); cameraEntity->setPosition(QVector3D(0, 0, 40.0f)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); cameraEntity->setViewCenter(QVector3D(0, 0, 0)); - input->setCamera(cameraEntity); + + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(rootEntity); + camController->setCamera(cameraEntity); // FrameGraph Qt3DRender::QFrameGraph *frameGraph = new Qt3DRender::QFrameGraph(); diff --git a/examples/qt3d/cylinder-cpp/main.cpp b/examples/qt3d/cylinder-cpp/main.cpp index f45492926..bf7a35983 100644 --- a/examples/qt3d/cylinder-cpp/main.cpp +++ b/examples/qt3d/cylinder-cpp/main.cpp @@ -36,12 +36,10 @@ #include <QGuiApplication> -#include <Qt3DCore/qcamera.h> -#include <Qt3DCore/qentity.h> -#include <Qt3DCore/qcameralens.h> - #include <Qt3DInput/QInputAspect> +#include <Qt3DRender/qcamera.h> +#include <Qt3DRender/qcameralens.h> #include <Qt3DRender/qcylindermesh.h> #include <Qt3DRender/qmesh.h> #include <Qt3DRender/qtechnique.h> @@ -49,35 +47,38 @@ #include <Qt3DRender/qeffect.h> #include <Qt3DRender/qtexture.h> #include <Qt3DRender/qrenderpass.h> +#include <Qt3DRender/qrenderaspect.h> +#include <Qt3DRender/qframegraph.h> +#include <Qt3DRender/qforwardrenderer.h> +#include <Qt3DCore/qentity.h> #include <Qt3DCore/qtransform.h> #include <Qt3DCore/qaspectengine.h> -#include <Qt3DRender/qrenderaspect.h> -#include <Qt3DRender/qframegraph.h> -#include <Qt3DRender/qforwardrenderer.h> -#include <Qt3DRender/qwindow.h> +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" int main(int argc, char **argv) { QGuiApplication app(argc, argv); - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; - view.registerAspect(input); + Qt3DWindow view; // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); // Camera - Qt3DCore::QCamera *cameraEntity = view.defaultCamera(); + Qt3DRender::QCamera *cameraEntity = view.camera(); cameraEntity->setObjectName(QStringLiteral("cameraEntity")); cameraEntity->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); cameraEntity->setPosition(QVector3D(0, 0, 20.0f)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); cameraEntity->setViewCenter(QVector3D(0, 0, 0)); - input->setCamera(cameraEntity); + + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(rootEntity); + camController->setCamera(cameraEntity); // FrameGraph Qt3DRender::QFrameGraph *frameGraph = new Qt3DRender::QFrameGraph(); diff --git a/examples/qt3d/deferred-renderer-cpp/main.cpp b/examples/qt3d/deferred-renderer-cpp/main.cpp index b3df94b1a..b910b4920 100644 --- a/examples/qt3d/deferred-renderer-cpp/main.cpp +++ b/examples/qt3d/deferred-renderer-cpp/main.cpp @@ -36,20 +36,16 @@ #include <Qt3DCore/QEntity> -#include <Qt3DInput/QInputAspect> - -#include <Qt3DRender/QRenderAspect> #include <Qt3DRender/QFrameGraph> #include <Qt3DRender/QMaterial> #include <Qt3DRender/QSphereMesh> #include <Qt3DRender/QPlaneMesh> #include <Qt3DRender/QLayer> #include <Qt3DRender/QParameter> -#include <Qt3DCore/QCamera> -#include <Qt3DCore/QCameraLens> +#include <Qt3DRender/QCamera> +#include <Qt3DRender/QCameraLens> #include <Qt3DCore/QTransform> #include <Qt3DRender/QPointLight> -#include <Qt3DRender/QWindow> #include <Qt3DCore/qaspectengine.h> #include <QGuiApplication> @@ -59,14 +55,15 @@ #include "finaleffect.h" #include "sceneeffect.h" #include "pointlightblock.h" +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" + int main(int ac, char **av) { QGuiApplication app(ac, av); - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect(); - view.registerAspect(input); + Qt3DWindow view; // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); @@ -99,18 +96,20 @@ int main(int ac, char **av) rootEntity->addComponent(light1); // Scene Camera - Qt3DCore::QCamera *camera = view.defaultCamera(); + Qt3DRender::QCamera *camera = view.camera(); camera->setFieldOfView(45.0f); camera->setNearPlane(0.01f); camera->setFarPlane(1000.0f); - camera->setProjectionType(Qt3DCore::QCameraLens::PerspectiveProjection); + camera->setProjectionType(Qt3DRender::QCameraLens::PerspectiveProjection); camera->setPosition(QVector3D(10.0f, 10.0f, -25.0f)); camera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); camera->setViewCenter(QVector3D(0.0f, 0.0f, 10.0f)); - input->setCamera(camera); + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(rootEntity); + camController->setCamera(camera); // FrameGraph Qt3DRender::QFrameGraph *frameGraph = new Qt3DRender::QFrameGraph(); diff --git a/examples/qt3d/dynamicscene-cpp/main.cpp b/examples/qt3d/dynamicscene-cpp/main.cpp index ea7a86330..95e53be85 100644 --- a/examples/qt3d/dynamicscene-cpp/main.cpp +++ b/examples/qt3d/dynamicscene-cpp/main.cpp @@ -37,37 +37,37 @@ #include <QGuiApplication> #include <Qt3DCore/QAspectEngine> -#include <Qt3DCore/QCamera> +#include <Qt3DRender/QCamera> #include <Qt3DInput/QInputAspect> #include <Qt3DRender/QRenderAspect> #include <Qt3DRender/QFrameGraph> #include <Qt3DRender/QForwardRenderer> -#include <Qt3DRender/QWindow> #include "forwardrenderer.h" #include "examplescene.h" +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" int main(int argc, char* argv[]) { QGuiApplication app(argc, argv); - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; - view.registerAspect(input); + Qt3DWindow view; ExampleScene *sceneRoot = new ExampleScene(); // Scene Camera - Qt3DCore::QCamera *basicCamera = view.defaultCamera(); - basicCamera->setProjectionType(Qt3DCore::QCameraLens::PerspectiveProjection); + Qt3DRender::QCamera *basicCamera = view.camera(); + basicCamera->setProjectionType(Qt3DRender::QCameraLens::PerspectiveProjection); basicCamera->setAspectRatio(view.width() / view.height()); basicCamera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); basicCamera->setViewCenter(QVector3D(0.0f, 3.5f, 0.0f)); basicCamera->setPosition(QVector3D(0.0f, 3.5f, 25.0f)); // For camera controls - input->setCamera(basicCamera); + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(sceneRoot); + camController->setCamera(basicCamera); view.setRootEntity(sceneRoot); view.show(); diff --git a/examples/qt3d/examples-common/qfirstpersoncameracontroller.cpp b/examples/qt3d/examples-common/qfirstpersoncameracontroller.cpp index 46ae0c115..10b0d7ec7 100644 --- a/examples/qt3d/examples-common/qfirstpersoncameracontroller.cpp +++ b/examples/qt3d/examples-common/qfirstpersoncameracontroller.cpp @@ -36,7 +36,7 @@ #include "qfirstpersoncameracontroller_p.h" #include "qfirstpersoncameracontroller.h" -#include <Qt3DCore/QCamera> +#include <Qt3DRender/QCamera> #include <Qt3DInput/QAxis> #include <Qt3DInput/QAxisInput> #include <Qt3DInput/QAction> @@ -226,7 +226,7 @@ QFirstPersonCameraController::~QFirstPersonCameraController() { } -Qt3DCore::QCamera *QFirstPersonCameraController::camera() const +Qt3DRender::QCamera *QFirstPersonCameraController::camera() const { Q_D(const QFirstPersonCameraController); return d->m_camera; @@ -244,7 +244,7 @@ float QFirstPersonCameraController::lookSpeed() const return d->m_lookSpeed; } -void QFirstPersonCameraController::setCamera(Qt3DCore::QCamera *camera) +void QFirstPersonCameraController::setCamera(Qt3DRender::QCamera *camera) { Q_D(QFirstPersonCameraController); if (d->m_camera != camera) { diff --git a/examples/qt3d/examples-common/qfirstpersoncameracontroller.h b/examples/qt3d/examples-common/qfirstpersoncameracontroller.h index b1755d7d4..6f8d21ebf 100644 --- a/examples/qt3d/examples-common/qfirstpersoncameracontroller.h +++ b/examples/qt3d/examples-common/qfirstpersoncameracontroller.h @@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE -namespace Qt3DCore { +namespace Qt3DRender { class QCamera; } @@ -52,7 +52,7 @@ class QFirstPersonCameraControllerPrivate; class QFirstPersonCameraController : public Qt3DCore::QEntity { Q_OBJECT - Q_PROPERTY(Qt3DCore::QCamera *camera READ camera WRITE setCamera NOTIFY cameraChanged) + Q_PROPERTY(Qt3DRender::QCamera *camera READ camera WRITE setCamera NOTIFY cameraChanged) Q_PROPERTY(float linearSpeed READ linearSpeed WRITE setLinearSpeed NOTIFY linearSpeedChanged) Q_PROPERTY(float lookSpeed READ lookSpeed WRITE setLookSpeed NOTIFY lookSpeedChanged) @@ -60,11 +60,11 @@ public: explicit QFirstPersonCameraController(Qt3DCore::QNode *parent = Q_NULLPTR); ~QFirstPersonCameraController(); - Qt3DCore::QCamera *camera() const; + Qt3DRender::QCamera *camera() const; float linearSpeed() const; float lookSpeed() const; - void setCamera(Qt3DCore::QCamera *camera); + void setCamera(Qt3DRender::QCamera *camera); void setLinearSpeed(float linearSpeed); void setLookSpeed(float lookSpeed); diff --git a/examples/qt3d/examples-common/qfirstpersoncameracontroller_p.h b/examples/qt3d/examples-common/qfirstpersoncameracontroller_p.h index 985b9f536..d5ac58d56 100644 --- a/examples/qt3d/examples-common/qfirstpersoncameracontroller_p.h +++ b/examples/qt3d/examples-common/qfirstpersoncameracontroller_p.h @@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE -namespace Qt3DCore { +namespace Qt3DRender { class QCamera; } @@ -69,7 +69,7 @@ public: void init(); - Qt3DCore::QCamera *m_camera; + Qt3DRender::QCamera *m_camera; QAction *m_leftMouseButtonAction; QAction *m_fineMotionAction; QAxis *m_rxAxis; diff --git a/examples/qt3d/examples-common/qt3dwindow.cpp b/examples/qt3d/examples-common/qt3dwindow.cpp index 9575424a8..e46b052a7 100644 --- a/examples/qt3d/examples-common/qt3dwindow.cpp +++ b/examples/qt3d/examples-common/qt3dwindow.cpp @@ -43,7 +43,7 @@ #include <Qt3DLogic/qlogicaspect.h> #include <Qt3DCore/qaspectengine.h> -#include <Qt3DCore/qcamera.h> +#include <Qt3DRender/qcamera.h> #include <Qt3DCore/qentity.h> #include <QtGui/qopenglcontext.h> @@ -57,7 +57,7 @@ Qt3DWindow::Qt3DWindow(QScreen *screen) , m_inputAspect(new Qt3DInput::QInputAspect) , m_logicAspect(new Qt3DLogic::QLogicAspect) , m_frameGraph(nullptr) - , m_defaultCamera(new Qt3DCore::QCamera) + , m_defaultCamera(new Qt3DRender::QCamera) , m_root(new Qt3DCore::QEntity) , m_userRoot(nullptr) , m_initialized(false) @@ -89,7 +89,7 @@ Qt3DWindow::Qt3DWindow(QWindow *parent) , m_inputAspect(new Qt3DInput::QInputAspect) , m_logicAspect(new Qt3DLogic::QLogicAspect) , m_frameGraph(nullptr) - , m_defaultCamera(new Qt3DCore::QCamera) + , m_defaultCamera(new Qt3DRender::QCamera) , m_root(new Qt3DCore::QEntity) , m_userRoot(nullptr) , m_initialized(false) @@ -135,7 +135,12 @@ void Qt3DWindow::setRootEntity(Qt3DCore::QEntity *root) m_userRoot = root; } -Qt3DCore::QCamera *Qt3DWindow::camera() const +void Qt3DWindow::setFrameGraph(Qt3DRender::QFrameGraph *frameGraph) +{ + m_frameGraph = frameGraph; +} + +Qt3DRender::QCamera *Qt3DWindow::camera() const { return m_defaultCamera; } @@ -162,9 +167,6 @@ void Qt3DWindow::showEvent(QShowEvent *e) m_root->addComponent(m_frameGraph); m_aspectEngine->setRootEntity(m_root); - // TODO: Get rid of this too - m_inputAspect->setCamera(m_defaultCamera); - m_initialized = true; } diff --git a/examples/qt3d/examples-common/qt3dwindow.h b/examples/qt3d/examples-common/qt3dwindow.h index b42e3d81c..df527acd6 100644 --- a/examples/qt3d/examples-common/qt3dwindow.h +++ b/examples/qt3d/examples-common/qt3dwindow.h @@ -43,11 +43,12 @@ QT_BEGIN_NAMESPACE namespace Qt3DCore { class QAspectEngine; -class QCamera; +class QAbstractAspect; class QEntity; } namespace Qt3DRender { +class QCamera; class QFrameGraph; class QRenderAspect; } @@ -72,8 +73,9 @@ public: void registerAspect(const QString &name); void setRootEntity(Qt3DCore::QEntity *root); + void setFrameGraph(Qt3DRender::QFrameGraph *frameGraph); - Qt3DCore::QCamera *camera() const; + Qt3DRender::QCamera *camera() const; public Q_SLOTS: @@ -93,7 +95,7 @@ private: // Renderer configuration Qt3DRender::QFrameGraph *m_frameGraph; - Qt3DCore::QCamera *m_defaultCamera; + Qt3DRender::QCamera *m_defaultCamera; // Input configuration diff --git a/examples/qt3d/materials-cpp/main.cpp b/examples/qt3d/materials-cpp/main.cpp index f8b8afc66..245ff255c 100644 --- a/examples/qt3d/materials-cpp/main.cpp +++ b/examples/qt3d/materials-cpp/main.cpp @@ -38,7 +38,7 @@ #include <Qt3DCore/QEntity> #include <Qt3DCore/QAspectEngine> -#include <Qt3DCore/QCamera> +#include <Qt3DRender/QCamera> #include <Qt3DInput/QInputAspect> @@ -48,33 +48,33 @@ #include <Qt3DRender/QForwardRenderer> #include <Qt3DRender/QFrameGraph> #include <Qt3DRender/QTextureImage> -#include <Qt3DRender/QWindow> #include "planeentity.h" #include "rotatingtrefoilknot.h" #include "barrel.h" #include "houseplant.h" +#include "qt3dwindow.h" +#include "qfirstpersoncameracontroller.h" int main(int argc, char* argv[]) { QGuiApplication app(argc, argv); - Qt3DRender::QWindow view; - Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; - view.registerAspect(input); + Qt3DWindow view; // Scene Root Qt3DCore::QEntity *sceneRoot = new Qt3DCore::QEntity(); // Scene Camera - Qt3DCore::QCamera *basicCamera = view.defaultCamera(); - basicCamera->setProjectionType(Qt3DCore::QCameraLens::PerspectiveProjection); + Qt3DRender::QCamera *basicCamera = view.camera(); + basicCamera->setProjectionType(Qt3DRender::QCameraLens::PerspectiveProjection); basicCamera->setAspectRatio(view.width() / view.height()); basicCamera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); basicCamera->setViewCenter(QVector3D(0.0f, 3.5f, 0.0f)); basicCamera->setPosition(QVector3D(0.0f, 3.5f, 25.0f)); // For camera controls - input->setCamera(basicCamera); + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(sceneRoot); + camController->setCamera(basicCamera); // Scene floor PlaneEntity *planeEntity = new PlaneEntity(sceneRoot); diff --git a/examples/qt3d/simple-cpp/main.cpp b/examples/qt3d/simple-cpp/main.cpp index 990fd36bb..438c4b849 100644 --- a/examples/qt3d/simple-cpp/main.cpp +++ b/examples/qt3d/simple-cpp/main.cpp @@ -37,8 +37,8 @@ #include <QGuiApplication> #include <Qt3DCore/QEntity> -#include <Qt3DCore/QCamera> -#include <Qt3DCore/QCameraLens> +#include <Qt3DRender/QCamera> +#include <Qt3DRender/QCameraLens> #include <Qt3DCore/QTransform> #include <Qt3DCore/QAspectEngine> @@ -56,6 +56,7 @@ #include "qt3dwindow.h" #include "orbittransformcontroller.h" +#include "qfirstpersoncameracontroller.h" Qt3DCore::QEntity *createScene() { @@ -112,12 +113,17 @@ int main(int argc, char* argv[]) QGuiApplication app(argc, argv); Qt3DWindow view; + Qt3DCore::QEntity *scene = createScene(); + // Camera - Qt3DCore::QCamera *camera = view.camera(); + Qt3DRender::QCamera *camera = view.camera(); camera->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); camera->setPosition(QVector3D(0, 0, 40.0f)); - Qt3DCore::QEntity *scene = createScene(); + // For camera controls + Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(scene); + camController->setCamera(camera); + view.setRootEntity(scene); view.show(); |