diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-09-29 17:19:36 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-10-03 21:18:41 +0200 |
commit | 7b26f6a1746419161a8f875e341b3e31220f4141 (patch) | |
tree | f784e568015e1f7f199abb388b97fefdb158c84e /examples/cpp_example/main.cpp | |
parent | c16689bb1ccf31416df7b8c69fe032898cf87dec (diff) |
QNode refactoring
Move almost everything to private classes.
Assimp loading restored.
All examples working.
QNode hierachy is now handled through QObject::setParent, addChild,
removeChild are part of the private api.
Note: commented QChangeArbiter unit tests as they can no longer work with this
patch and will restore them when QChangeArbiter will have been made private.
Task-number: QTBUG-41470
Task-number: QTBUG-41523
Change-Id: I4430974b3aa7f3744c38714b451b122e0cb4d0c9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples/cpp_example/main.cpp')
-rw-r--r-- | examples/cpp_example/main.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/examples/cpp_example/main.cpp b/examples/cpp_example/main.cpp index 738603f69..e329e0eb4 100644 --- a/examples/cpp_example/main.cpp +++ b/examples/cpp_example/main.cpp @@ -84,7 +84,7 @@ int main(int ac, char **av) Qt3D::QEntity *rootEntity = new Qt3D::QEntity(); rootEntity->setObjectName(QStringLiteral("rootEntity")); // Torus - Qt3D::QEntity *torusEntity = new Qt3D::QEntity(); + Qt3D::QEntity *torusEntity = new Qt3D::QEntity(rootEntity); // Torus shape data Qt3D::QTorusMesh *torus = new Qt3D::QTorusMesh(); @@ -106,7 +106,7 @@ int main(int ac, char **av) torusEntity->addComponent(torusTransforms); // Scene file - Qt3D::QEntity *sceneEntity = new Qt3D::QEntity(); + Qt3D::QEntity *sceneEntity = new Qt3D::QEntity(rootEntity); Qt3D::QSceneLoader *scene = new Qt3D::QSceneLoader(); scene->setObjectName(QStringLiteral("scene")); Qt3D::QTransform *sceneTransform = new Qt3D::QTransform(); @@ -121,7 +121,7 @@ int main(int ac, char **av) sceneEntity->addComponent(scene); // Camera - Qt3D::QCamera *cameraEntity = new Qt3D::QCamera(); + Qt3D::QCamera *cameraEntity = new Qt3D::QCamera(rootEntity); cameraEntity->setObjectName(QStringLiteral("cameraEntity")); Qt3D::QCameraLens *cameraLens = new Qt3D::QCameraLens(); Qt3D::QTransform *cameraTransform = new Qt3D::QTransform(); @@ -139,30 +139,20 @@ int main(int ac, char **av) // FrameGraph Qt3D::QFrameGraph *frameGraph = new Qt3D::QFrameGraph(); Qt3D::QTechniqueFilter *techniqueFilter = new Qt3D::QTechniqueFilter(); - Qt3D::QCameraSelector *cameraSelector = new Qt3D::QCameraSelector(); - Qt3D::QRenderPassFilter *defaultRenderPassFilter = new Qt3D::QRenderPassFilter(); - Qt3D::QViewport *viewport = new Qt3D::QViewport(); - Qt3D::QClearBuffer *clearBuffer = new Qt3D::QClearBuffer(); + Qt3D::QViewport *viewport = new Qt3D::QViewport(techniqueFilter); + Qt3D::QClearBuffer *clearBuffer = new Qt3D::QClearBuffer(viewport); + Qt3D::QCameraSelector *cameraSelector = new Qt3D::QCameraSelector(clearBuffer); + Qt3D::QRenderPassFilter *defaultRenderPassFilter = new Qt3D::QRenderPassFilter(cameraSelector); // TechiqueFilter and renderPassFilter are not implement yet - viewport->setRect(QRectF(0, 0, 1, 1)); - viewport->addChild(clearBuffer); clearBuffer->setBuffers(Qt3D::QClearBuffer::ColorDepthBuffer); - clearBuffer->addChild(cameraSelector); cameraSelector->setCamera(cameraEntity); - cameraSelector->addChild(defaultRenderPassFilter); - techniqueFilter->addChild(viewport); frameGraph->setActiveFrameGraph(techniqueFilter); // Setting the FrameGraph rootEntity->addComponent(frameGraph); - // Build Node Tree - rootEntity->addChild(cameraEntity); - rootEntity->addChild(torusEntity); - rootEntity->addChild(sceneEntity); - // Set root object of the scene view.setRootObject(rootEntity); // Show window |