diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-04-24 13:43:56 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-04-27 11:57:33 +0100 |
commit | 6c1758d35e20655f46ba3696671068f4862c8878 (patch) | |
tree | d4b4fc2ae8f5a4512de4eb015667b024b6a8e6b9 /tests/manual/bigscene-cpp/main.cpp | |
parent | b7967a8abcdac438a1f31800b71e219e3c52c24a (diff) | |
parent | 37735f11f9437b916b194cfd48c452c7c70682f8 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: Id669d5c1aab29965eac0dabd1cb497e908dac23e
Diffstat (limited to 'tests/manual/bigscene-cpp/main.cpp')
-rw-r--r-- | tests/manual/bigscene-cpp/main.cpp | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/tests/manual/bigscene-cpp/main.cpp b/tests/manual/bigscene-cpp/main.cpp index 5e61758db..5a66cb213 100644 --- a/tests/manual/bigscene-cpp/main.cpp +++ b/tests/manual/bigscene-cpp/main.cpp @@ -70,6 +70,11 @@ #include <qmath.h> #include <Qt3DExtras/qt3dwindow.h> #include <Qt3DExtras/qfirstpersoncameracontroller.h> +#include <Qt3DRender/QRenderSurfaceSelector> +#include <Qt3DRender/QCameraSelector> +#include <Qt3DRender/QViewport> +#include <Qt3DRender/QNoDraw> +#include <Qt3DRender/QDebugOverlay> using namespace Qt3DCore; using namespace Qt3DRender; @@ -78,7 +83,46 @@ int main(int ac, char **av) { QGuiApplication app(ac, av); Qt3DExtras::Qt3DWindow view; - view.defaultFrameGraph()->setClearColor(Qt::black); + + // FrameGraph + { + QRenderSurfaceSelector *surfaceSelector = new QRenderSurfaceSelector(); + QCameraSelector *cameraSelector = new Qt3DRender::QCameraSelector(surfaceSelector); + cameraSelector->setCamera(view.camera()); + QClearBuffers *clearBuffers = new Qt3DRender::QClearBuffers(cameraSelector); + clearBuffers->setClearColor(QColor(Qt::gray)); + clearBuffers->setBuffers(QClearBuffers::ColorDepthBuffer); + new QNoDraw(clearBuffers); + + const QRectF viewports[] = { + {0.0f, 0.0f, 0.25f, 0.25f}, + {0.25f, 0.0f, 0.25f, 0.25f}, + {0.5f, 0.0f, 0.25f, 0.25f}, + {0.75f, 0.0f, 0.25f, 0.25f}, + {0.0f, 0.25f, 0.25f, 0.25f}, + {0.25f, 0.25f, 0.25f, 0.25f}, + {0.5f, 0.25f, 0.25f, 0.25f}, + {0.75f, 0.25f, 0.25f, 0.25f}, + {0.0f, 0.5f, 0.25f, 0.25f}, + {0.25f, 0.5f, 0.25f, 0.25f}, + {0.5f, 0.5f, 0.25f, 0.25f}, + {0.75f, 0.5f, 0.25f, 0.25f}, + {0.0f, 0.75f, 0.25f, 0.25f}, + {0.25f, 0.75f, 0.25f, 0.25f}, + {0.5f, 0.75f, 0.25f, 0.25f}, + {0.75f, 0.75f, 0.25f, 0.25f}, + }; + + for (const QRectF &vp : viewports) { + QViewport *viewport = new Qt3DRender::QViewport(cameraSelector); + viewport->setNormalizedRect(vp); + } + + new QDebugOverlay(qobject_cast<Qt3DCore::QNode *>(cameraSelector->children().last())); + + view.setActiveFrameGraph(surfaceSelector); + } + QEntity *root = new QEntity(); |