Spec-Zone.ru › Qt 5.9

Класс QSGEngine

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

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

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

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

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

QSGEngine(QObject *parent = Q_NULLPTR)
~QSGEngine()
QSGImageNode * createImageNode() const
QSGNinePatchNode * createNinePatchNode() const
QSGRectangleNode * createRectangleNode() const
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()
QSGRendererInterface * rendererInterface() const
  • 32 открытых функции унаследованные от 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 Изображение можно загрузить в атлас текстур.
QSGEngine::TextureIsOpaque 0x0010 Объект текстуры непрозрачен.

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

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

QSGEngine::QSGEngine(QObject *parent = Q_NULLPTR)

Конструирует новый QSGEngine с заданным parent

QSGEngine::~QSGEngine()

Удаляет движок

QSGImageNode *QSGEngine::createImageNode() const

Создаёт узел простой картинки. Если структура сцены не инициализирована, возвращаемое значение равно null.

Это кросс-платформенная альтернатива непосредственному созданию QSGSimpleTextureNode.

Эта функция была введена в Qt 5.8.

См. также QSGImageNode.

QSGNinePatchNode *QSGEngine::createNinePatchNode() const

Создаёт узел девятипанельной картинки. Если структура сцены не инициализирована, возвращаемое значение равно null.

Эта функция была введена в Qt 5.8.

QSGRectangleNode *QSGEngine::createRectangleNode() const

Создаёт узел простой прямоугольника. Если структура сцены не инициализирована, возвращаемое значение равно null.

Это кросс-платформенная альтернатива непосредственному созданию QSGSimpleRectNode.

Эта функция была введена в Qt 5.8.

См. также QSGRectangleNode.

QSGAbstractRenderer *QSGEngine::createRenderer() const

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

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

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(), если вы хотите использовать его повторно.

QSGRendererInterface *QSGEngine::rendererInterface() const

Возвращает текущий интерфейс отрисовки, если он существует. В противном случае возвращается null.

Эта функция была введена в Qt 5.8.

См. также QSGRenderNode и QSGRendererInterface.

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

Spec-Zone.ru

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