summaryrefslogtreecommitdiffstats
path: root/examples/cylinder-cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-09-29 17:19:36 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-10-03 21:18:41 +0200
commit7b26f6a1746419161a8f875e341b3e31220f4141 (patch)
treef784e568015e1f7f199abb388b97fefdb158c84e /examples/cylinder-cpp
parentc16689bb1ccf31416df7b8c69fe032898cf87dec (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/cylinder-cpp')
-rw-r--r--examples/cylinder-cpp/main.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/examples/cylinder-cpp/main.cpp b/examples/cylinder-cpp/main.cpp
index 090d506fc..6880a1bb8 100644
--- a/examples/cylinder-cpp/main.cpp
+++ b/examples/cylinder-cpp/main.cpp
@@ -78,7 +78,7 @@ int main(int argc, char **argv)
Qt3D::QEntity *rootEntity = new Qt3D::QEntity();
// 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();
@@ -96,20 +96,16 @@ int main(int argc, char **argv)
// 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);
@@ -134,17 +130,13 @@ int main(int argc, char **argv)
cylinderTransforms->appendTransform(cylinderRotation);
// Cylinder
- Qt3D::QEntity *cylinderEntity = new Qt3D::QEntity();
+ Qt3D::QEntity *cylinderEntity = new Qt3D::QEntity(rootEntity);
cylinderEntity->addComponent(cylinder);
cylinderEntity->addComponent(cylinderTransforms);
// Setting the FrameGraph
rootEntity->addComponent(frameGraph);
- // Build Node Tree
- rootEntity->addChild(cameraEntity);
- rootEntity->addChild(cylinderEntity);
-
// Set root object of the scene
view.setRootObject(rootEntity);
// Show window