Spec-Zone.ru › Qt 5.11

Класс QSGEngine

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

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

Общедоступные типы

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

Общедоступные функции

QSGEngine(QObject *parent = nullptr)
виртуальный ~QSGEngine() override
QSGImageNode * createImageNode() const
QSGNinePatchNode * createNinePatchNode() const
QSGRectangleNode * createRectangleNode() const
QSGAbstractRenderer * createRenderer() const
QSGTexture * createTextureFromId(uint id, const QSize &size, QSGEngine::CreateTextureOptions options) const
QSGTexture * createTextureFromImage(const QImage &image, QSGEngine::CreateTextureOptions options) const
void initialize(QOpenGLContext *context)
void invalidate()
QSGRendererInterface * rendererInterface() const
  • 34 общедоступных функций, унаследованных от QObject

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

  • 1 свойство, унаследованное от QObject
  • 1 общедоступный слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 1 общедоступная переменная, унаследованная от QObject
  • 10 статических общедоступных членов, унаследованных от QObject
  • 9 защищённых функций, унаследованных от QObject
  • 2 защищённых переменных, унаследованных от 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 = nullptr)

Конструирует новый QSGEngine с его parent

[override virtual] 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, QSGEngine::CreateTextureOptions options) const

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

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

Вызов функции берёт владение объектом текстуры, и текстура должна использоваться только с этим движком.

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

QSGTexture *QSGEngine::createTextureFromImage(const QImage &image, QSGEngine::CreateTextureOptions options) 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/archives/qt-5.11/qsgengine.html

Spec-Zone.ru

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