Spec-Zone.ru › Qt

Класс QQuick3D

Вспомогательный класс для выбора правильного формата поверхности. Подробнее...

Заголовок: #include <QQuick3D>
С тех пор: Qt 5.15
  • Список всех членов, включая унаследованные

Статические публичные члены

QSurfaceFormat idealSurfaceFormat(int samples = -1)

Подробное описание

При использовании Qt Quick 3D с OpenGL необходимо предпринять дополнительные шаги для определения типа формата поверхности, используемого при инициализации Qt Quick. Это связано с тем, что к тому времени, когда Qt Quick узнает, что используется 3D-контент, контекст OpenGL и поверхность окна уже были инициализированы. Поэтому предоставляется этот вспомогательный класс для запроса оптимального формата поверхности от Qt Quick 3D, чтобы его можно было установить в качестве стандартного для Qt Quick перед инициализацией.

Если этот помощник используется с другими графическими задними планами, кроме OpenGL, он просто возвращает копию текущего стандартного QSurfaceFormat с запрошенными образцами.

Если этот помощник используется с графическим задним планом OpenGL, он будет проверять наличие достаточно современных версий OpenGL и поддержку многократной выборки, если она запрошена. Обычно Qt Quick запрашивает контекст OpenGL 2.0 или OpenGL ES 2.0, что ограничивает доступные функции при использовании Qt Quick 3D, поэтому для запроса более функционального контекста необходим дополнительный шаг.

Правильный шаблон использования — вызвать QSurfaceFormat::setDefaultFormat, чтобы установить QSurfaceFormat, возвращаемый QQuick3D::idealSurfaceFormat. Важно, чтобы этот метод был вызван после создания QGuiApplication, но перед загрузкой содержимого приложения Qt Quick. Этот фрагмент кода демонстрирует правильный шаблон использования:

#include <QGuiApplication>
#include <QQmlApplicationEngine>

#include <QtGui>
#include <QtQuick3D/qquick3d.h>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QSurfaceFormat::setDefaultFormat(QQuick3D::idealSurfaceFormat(4));

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}

Документация по членам-функциям

[static] QSurfaceFormat QQuick3D::idealSurfaceFormat(int samples = -1)

Возвращает оптимальный формат поверхности для платформы. При необходимости, samples может быть указано для выбора количества многократных выборок для сглаживания.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qquick3d.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API