// Copyright (C) 2019 Klaralvdalens Datakonsult AB (KDAB). // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include "scene.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char **argv) { QApplication app(argc, argv); Qt3DExtras::Qt3DWindow *view = new Qt3DExtras::Qt3DWindow(); view->defaultFrameGraph()->setClearColor(QColor(QRgb(0x4d4d4f))); QWidget *container = QWidget::createWindowContainer(view); QSize screenSize = view->screen()->size(); container->setMinimumSize(QSize(200, 100)); container->setMaximumSize(screenSize); Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; view->registerAspect(input); // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); // Camera Qt3DRender::QCamera *cameraEntity = view->camera(); cameraEntity->setPosition(QVector3D(0, 0, 20.0f)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); cameraEntity->setViewCenter(QVector3D(0, 0, 0)); // For camera controls Qt3DExtras::QFirstPersonCameraController *camController = new Qt3DExtras::QFirstPersonCameraController(rootEntity); camController->setCamera(cameraEntity); // scene Scene *scene = new Scene(rootEntity); scene->run(); // Set root object of the scene view->setRootEntity(rootEntity); // create widget QWidget *widget = new QWidget; widget->setWindowTitle(QStringLiteral("QPaintedTexture Example")); QVBoxLayout *hLayout = new QVBoxLayout(widget); hLayout->addWidget(container, 1); // Show window widget->show(); widget->resize(1200, 800); return app.exec(); }