#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char* argv[]) { QApplication a(argc, argv); auto view = new Qt3DExtras::Qt3DWindow(); auto renderSettings = view->renderSettings(); renderSettings->setRenderPolicy(Qt3DRender::QRenderSettings::Always); auto rootEntity = new Qt3DCore::QEntity(); view->setRootEntity(rootEntity); auto camera = view->camera(); camera->lens()->setPerspectiveProjection(45.0f, 1., 0.1f, 10000.0f); camera->setPosition(QVector3D(0, 0, 5)); camera->setUpVector(QVector3D(0, 1, 0)); camera->setViewCenter(QVector3D(0, 0, 0)); auto camController = new Qt3DExtras::QOrbitCameraController(rootEntity); camController->setCamera(camera); auto container = QWidget::createWindowContainer(view); QFrame frame; frame.setLayout(new QVBoxLayout); frame.layout()->addWidget(container); frame.resize(QSize(400, 300)); QString textWithMultipleSpaces("FPS: 62.5"); auto textEntity = new Qt3DExtras::QText2DEntity; textEntity->setParent(rootEntity); QFont font; font.setFamily("Arial"); font.setPointSizeF(12.f); textEntity->setFont(font); textEntity->setColor(Qt::blue); QFontMetricsF fontMetrics(textEntity->font()); auto boundingRect = fontMetrics.boundingRect(QRectF(), Qt::AlignLeft | Qt::AlignTop, textWithMultipleSpaces); textEntity->setWidth(boundingRect.width()); textEntity->setHeight(2.f * boundingRect.height()); textEntity->setText(textWithMultipleSpaces); QTimer::singleShot(100, [&]() { camera->viewAll(); }); frame.show(); return a.exec(); }