diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-01-17 13:46:40 +0000 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-01-17 19:55:58 +0000 |
commit | 8158f0396e1bd3d7982788451d40a680325e5386 (patch) | |
tree | 64ac121fcde7ae9732a86913b1d3ce317a1d6ca2 | |
parent | 4304ef556d7725fba354eb5e4f10f39241f42fe3 (diff) |
Fix cylinder-cpp example
Use provided ForwardRenderer frame graph.
Change-Id: I18af04301e3f568e28b6110126aded4c5563ed7c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | examples/qt3d/cylinder-cpp/main.cpp | 63 |
1 files changed, 25 insertions, 38 deletions
diff --git a/examples/qt3d/cylinder-cpp/main.cpp b/examples/qt3d/cylinder-cpp/main.cpp index bf7a35983..73fd060ef 100644 --- a/examples/qt3d/cylinder-cpp/main.cpp +++ b/examples/qt3d/cylinder-cpp/main.cpp @@ -43,7 +43,7 @@ #include <Qt3DRender/qcylindermesh.h> #include <Qt3DRender/qmesh.h> #include <Qt3DRender/qtechnique.h> -#include <Qt3DRender/qmaterial.h> +#include <Qt3DRender/qphongmaterial.h> #include <Qt3DRender/qeffect.h> #include <Qt3DRender/qtexture.h> #include <Qt3DRender/qrenderpass.h> @@ -61,59 +61,46 @@ int main(int argc, char **argv) { QGuiApplication app(argc, argv); - Qt3DWindow view; // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); // Camera - 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)); + Qt3DRender::QCamera *camera = view.camera(); + camera->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); + camera->setPosition(QVector3D(0, 0, 20.0f)); + camera->setUpVector(QVector3D(0, 1, 0)); + camera->setViewCenter(QVector3D(0, 0, 0)); // For camera controls - Qt3DInput::QFirstPersonCameraController *camController = new Qt3DInput::QFirstPersonCameraController(rootEntity); - camController->setCamera(cameraEntity); - - // FrameGraph - Qt3DRender::QFrameGraph *frameGraph = new Qt3DRender::QFrameGraph(); - Qt3DRender::QForwardRenderer *forwardRenderer = new Qt3DRender::QForwardRenderer(); - - // TechiqueFilter and renderPassFilter are not implement yet - forwardRenderer->setCamera(cameraEntity); - forwardRenderer->setClearColor(Qt::black); - - frameGraph->setActiveFrameGraph(forwardRenderer); - + Qt3DInput::QFirstPersonCameraController *cameraController = new Qt3DInput::QFirstPersonCameraController(rootEntity); + cameraController->setCamera(camera); // Cylinder shape data - Qt3DRender::QCylinderMesh *cylinder = new Qt3DRender::QCylinderMesh(); - cylinder->setRadius(1); - cylinder->setLength(3); - cylinder->setRings(100); - cylinder->setSlices(20); + Qt3DRender::QCylinderMesh *mesh = new Qt3DRender::QCylinderMesh(); + mesh->setRadius(1); + mesh->setLength(3); + mesh->setRings(100); + mesh->setSlices(20); - // CylinderMesh Transform - Qt3DCore::QTransform *cylinderTransform = new Qt3DCore::QTransform; - cylinderTransform->setScale(1.5f); - cylinderTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1, 0, 0), 45.0f)); + // Transform for cylinder + Qt3DCore::QTransform *transform = new Qt3DCore::QTransform; + transform->setScale(1.5f); + transform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1, 0, 0), 45.0f)); - // Cylinder - Qt3DCore::QEntity *cylinderEntity = new Qt3DCore::QEntity(rootEntity); - cylinderEntity->addComponent(cylinder); - cylinderEntity->addComponent(cylinderTransform); + // Material + Qt3DRender::QPhongMaterial *material = new Qt3DRender::QPhongMaterial(rootEntity); + material->setDiffuse(Qt::red); - // Setting the FrameGraph - view.setFrameGraph(frameGraph); + // Cylinder + Qt3DCore::QEntity *cylinder = new Qt3DCore::QEntity(rootEntity); + cylinder->addComponent(mesh); + cylinder->addComponent(transform); + cylinder->addComponent(material); // Set root object of the scene view.setRootEntity(rootEntity); - // Show window view.show(); return app.exec(); |