43 mCamera =
new Qt3DRender::QCamera;
44 mCamera->lens()->setPerspectiveProjection( 45.0f,
float( mSize.width() ) /
float( mSize.height() ), 0.1f, 1000.0f );
45 mCamera->setPosition( QVector3D( 0, 0, 20.0f ) );
46 mCamera->setUpVector( QVector3D( 0, 1, 0 ) );
47 mCamera->setViewCenter( QVector3D( 0, 0, 0 ) );
50 mAspectEngine =
new Qt3DCore::QAspectEngine();
52#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
53 mRenderAspect =
new Qt3DRender::QRenderAspect( Qt3DRender::QRenderAspect::Threaded );
55 mRenderAspect =
new Qt3DRender::QRenderAspect();
58 mLogicAspect =
new Qt3DLogic::QLogicAspect();
60 mAspectEngine->registerAspect( mRenderAspect );
61 mAspectEngine->registerAspect( mLogicAspect );
68 mRoot =
new Qt3DCore::QEntity;
69 mRenderSettings =
new Qt3DRender::QRenderSettings( mRoot );
70 mRoot->addComponent( mRenderSettings );
72 mCamera->setParent( mRoot );
76 mOffscreenSurface =
new QOffscreenSurface();
78 QSurfaceFormat format;
81 if ( QCoreApplication::instance() && QCoreApplication::instance()->testAttribute( Qt::AA_ShareOpenGLContexts ) )
83 format = QSurfaceFormat::defaultFormat();
88 format.setRenderableType( QSurfaceFormat::OpenGL );
90 format.setVersion( 4, 1 );
91 format.setProfile( QSurfaceFormat::CoreProfile );
93 format.setVersion( 4, 3 );
94 format.setProfile( QSurfaceFormat::CoreProfile );
96 format.setDepthBufferSize( 24 );
97 format.setSamples( 4 );
98 format.setStencilBufferSize( 8 );
101 mOffscreenSurface->setFormat( format );
102 mOffscreenSurface->create();
112 mAspectEngine->setRootEntity( Qt3DCore::QEntityPtr( mRoot ) );