Spec-Zone.ru › Qt 5.6

Класс QSGEngine

Класс QSGEngine позволяет выполнять рендеринг сцены на низком уровне. Подробнее...

Заголовок: #include <QSGEngine>
qmake: QT += quick
С момента: Qt 5.4
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые типы

перечисление CreateTextureOption { TextureHasAlphaChannel, TextureOwnsGLTexture, TextureCanUseAtlas }
флаги CreateTextureOptions

Открытые функции

QSGEngine(QObject *parent = Q_NULLPTR)
~QSGEngine()
QSGAbstractRenderer * createRenderer() const
QSGTexture * createTextureFromId(uint id, const QSize &size, CreateTextureOptions options = CreateTextureOption()) const
QSGTexture * createTextureFromImage(const QImage &image, CreateTextureOptions options = CreateTextureOption()) const
void initialize(QOpenGLContext *context)
void invalidate()
  • 31 открытых функций, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 11 статические открытые члены, унаследованные от QObject
  • 9 защищённых функций, унаследованных от QObject

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

Класс QSGEngine позволяет выполнять рендеринг сцены на низком уровне.

Объект QSGEngine может использоваться для рендеринга дерева QSGNode непосредственно на QWindow или QOpenGLFramebufferObject без интеграции с QML, QQuickWindow или QQuickItem и их удобств.

Это означает, что вы должны сами обрабатывать распространение событий, тайминг анимации и жизненный цикл узлов.

Примечание: Этот класс предназначен для очень низкоуровневого доступа к независимой структуре сцены. В большинстве случаев вы, скорее всего, захотите унаследовать от QQuickItem и вставить свой QSGNode в обычную сцену QtQuick, переопределив QQuickItem::updatePaintNode().

См. также QSGAbstractRenderer.

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

перечисление QSGEngine::CreateTextureOptionфлаги QSGEngine::CreateTextureOptions

Перечисления CreateTextureOption используются для настройки того, как текстура будет отображаться.

Постоянная Значение Описание
QSGEngine::TextureHasAlphaChannel 0x0001 Текстура имеет альфа-канал и должна отрисовываться с использованием смешивания.
QSGEngine::TextureOwnsGLTexture 0x0004 Объект текстуры владеет идентификатором текстуры и удалит GL-текстуру при удалении объекта текстуры.
QSGEngine::TextureCanUseAtlas 0x0008 Изображение может быть загружено в атлас текстур.

Тип CreateTextureOptions является псевдонимом для QFlags<CreateTextureOption>. Он хранит логическое ИЛИ сочетание значений CreateTextureOption.

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

QSGEngine::QSGEngine(QObject *parent = Q_NULLPTR)

Создает новый QSGEngine со своим parent

QSGEngine::~QSGEngine()

Уничтожает движок

QSGAbstractRenderer *QSGEngine::createRenderer() const

Возвращает рендерер, который можно использовать для отрисовки дерева QSGNode

Сначала вызывается initialize() с QOpenGLContext, который вы хотите использовать с этим рендерером. В противном случае будет возвращён нулевой рендерер.

QSGTexture *QSGEngine::createTextureFromId(uint id, const QSize &size, CreateTextureOptions options = CreateTextureOption()) const

Создает объект текстуры, который оборачивает текстуру GL с id, загруженную с размером size

Допустимые options — TextureHasAlphaChannel и TextureOwnsGLTexture

Вызывающий код получает владение объектом текстуры, и текстура должна использоваться только с этим движком.

См. также createTextureFromImage(), QSGSimpleTextureNode::setOwnsTexture() и QQuickWindow::createTextureFromId().

QSGTexture *QSGEngine::createTextureFromImage(const QImage &image, CreateTextureOptions options = CreateTextureOption()) const

Создает текстуру, используя данные из image

Допустимые options — TextureCanUseAtlas и TextureIsOpaque.

Вызывающий код получает владение текстурой, и текстура должна использоваться только с этим движком.

См. также createTextureFromId(), QSGSimpleTextureNode::setOwnsTexture() и QQuickWindow::createTextureFromImage().

void QSGEngine::initialize(QOpenGLContext *context)

Инициализирует движок с context.

Предупреждение: Вам необходимо убедиться, что вы вызвали QOpenGLContext::makeCurrent() на context перед вызовом этой функции.

void QSGEngine::invalidate()

Дезактивирует движок, освобождая его ресурсы

Вам нужно вызвать initialize() и createRenderer(), если вы хотите использовать его снова.

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

Spec-Zone.ru

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