Spec-Zone.ru › Qt 5.14

Класс QSGAbstractRenderer

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

Заголовок: #include <QSGAbstractRenderer>
qmake: QT += quick
С момента: Qt 5.4
Наследуется от: QObject

Этот класс был представлен в Qt 5.4.

  • Список всех членов, включая унаследованные

Типы публичного доступа

Флаги ClearMode
Перечисление ClearModeBit { Очистить буфер цвета, Очистить буфер глубины, Очистить буфер трафарета }
Перечисление MatrixTransformFlag { Отзеркалить Y матрицы преобразования }
Флаги Флаги преобразования матрицы

Публичные функции

QColor clearColor() const
QSGAbstractRenderer::ClearMode clearMode() const
QRect deviceRect() const
QMatrix4x4 projectionMatrix() const
virtual void renderScene(uint fboId = ...) = 0
QSGRootNode * rootNode() const
void setClearColor(const QColor &color)
void setClearMode(QSGAbstractRenderer::ClearMode mode)
void setDeviceRect(const QRect &rect)
void setDeviceRect(const QSize &size)
void setProjectionMatrix(const QMatrix4x4 &matrix)
void setProjectionMatrixToRect(const QRectF &rect)
void setProjectionMatrixToRect(const QRectF &rect, QSGAbstractRenderer::MatrixTransformFlags flags)
void setRootNode(QSGRootNode *node)
void setViewportRect(const QRect &rect)
void setViewportRect(const QSize &size)
QRect viewportRect() const

Сигналы

void sceneGraphChanged()

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

QSGAbstractRenderer, созданный QSGEngine, позволяет установить дерево QSGNode с помощью setRootNode() и управлять областью просмотра рендеринга с помощью setDeviceRect(), setViewportRect() и setProjectionMatrixToRect(). Наконец, вы можете инициировать рендеринг в нужном буфере кадров с помощью renderScene().

QSGAbstractRenderer доступен только при использовании с QSGEngine и не отображается при внутреннем использовании QQuickWindow.

См. также QSGEngine и QSGNode.

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

Перечисление QSGAbstractRenderer::ClearModeBitфлаги QSGAbstractRenderer::ClearMode

Используется с setClearMode() для указания, какой буфер следует очистить перед рендерингом сцены.

Константа Значение Описание
QSGAbstractRenderer::ClearColorBuffer 0x0001 Очистить буфер цвета с помощью clearColor().
QSGAbstractRenderer::ClearDepthBuffer 0x0002 Очистить буфер глубины.
QSGAbstractRenderer::ClearStencilBuffer 0x0004 Очистить буфер трафарета.

Тип ClearMode является псевдонимом для QFlags<ClearModeBit>. Он хранит комбинацию значений ClearModeBit.

См. также setClearMode() и setClearColor().

Перечисление QSGAbstractRenderer::MatrixTransformFlagфлаги QSGAbstractRenderer::MatrixTransformFlags

Используется с setProjectionMatrixToRect() для указания ожиданий относительно сгенерированной проекционной матрицы.

Константа Значение Описание
QSGAbstractRenderer::MatrixTransformFlipY 0x01 Традиционное предположение в Qt Quick заключается в том, что ось Y направлена вверх в системе нормализованных координат устройства. Существует как минимум одна современная графическая API, где это не так (Vulkan). Этот флаг может быть использован для получения проекции, подходящей для такой API.

Этот перечисление был введён или изменён в Qt 5.14.

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

См. также setProjectionMatrixToRect().

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

[signal] void QSGAbstractRenderer::sceneGraphChanged()

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

QColor QSGAbstractRenderer::clearColor() const

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

См. также setClearColor() и clearMode().

QSGAbstractRenderer::ClearMode QSGAbstractRenderer::clearMode() const

Флаги, определяющие, какие привязки буфера кадра будут очищены перед каждым рендерингом сцены.

См. также setClearMode() и clearColor().

QRect QSGAbstractRenderer::deviceRect() const

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

См. также setDeviceRect().

QMatrix4x4 QSGAbstractRenderer::projectionMatrix() const

Возвращает матрицу проекции

См. также setProjectionMatrix() и setProjectionMatrixToRect().

[pure virtual] void QSGAbstractRenderer::renderScene(uint fboId = ...)

Выполняет рендеринг сцены в указанный fboId

Если fboId не указан, граф сцены будет отрисован в буфер кадра по умолчанию. Вам потребуется самостоятельно вызвать QOpenGLContext::swapBuffers() после этого.

Буфер кадра, указанный fboId, будет автоматически привязан.

См. также QOpenGLContext::swapBuffers() и QOpenGLFramebufferObject::handle().

QSGRootNode *QSGAbstractRenderer::rootNode() const

Возвращает корень сцены QSGNode.

См. также setRootNode().

void QSGAbstractRenderer::setClearColor(const QColor &color)

Используйте color для очистки буфера кадра, когда clearMode() установлено в QSGAbstractRenderer::ClearColorBuffer.

См. также clearColor() и setClearMode().

void QSGAbstractRenderer::setClearMode(QSGAbstractRenderer::ClearMode mode)

Определяет, какой буфер кадра следует очистить перед каждым рендерингом сцены с флагом mode.

См. также clearMode() и setClearColor().

void QSGAbstractRenderer::setDeviceRect(const QRect &rect)

Устанавливает rect в качестве геометрии поверхности, на которую производится рендеринг.

См. также deviceRect().

void QSGAbstractRenderer::setDeviceRect(const QSize &size)

Это перегруженный метод.

Устанавливает size поверхности, на которую производится рендеринг.

См. также deviceRect().

void QSGAbstractRenderer::setProjectionMatrix(const QMatrix4x4 &matrix)

Используйте matrix для проекции координат QSGNode на пиксели поверхности.

См. также projectionMatrix() и setProjectionMatrixToRect().

void QSGAbstractRenderer::setProjectionMatrixToRect(const QRectF &rect)

Удобный метод, который вызывает setProjectionMatrix() с ортогональной матрицей, сгенерированной из rect.

Примечание: Этот метод предполагает, что графический API использует Y вверх в своей системе нормализованных координат устройства.

См. также setProjectionMatrix() и projectionMatrix().

void QSGAbstractRenderer::setProjectionMatrixToRect(const QRectF &rect, QSGAbstractRenderer::MatrixTransformFlags flags)

Удобный метод, который вызывает setProjectionMatrix() с ортогональной матрицей, сгенерированной из rect.

Установите MatrixTransformFlipY в flags, если графический API использует Y вниз в своей системе нормализованных координат устройства (например, Vulkan).

Этот метод был добавлен в Qt 5.14.

См. также setProjectionMatrix() и projectionMatrix().

void QSGAbstractRenderer::setRootNode(QSGRootNode *node)

Устанавливает node в качестве корня сцены QSGNode, которую необходимо отрисовать. Вам необходимо предоставить node перед попыткой отрисовки сцены.

Примечание: Это не передаёт владение node.

См. также rootNode().

void QSGAbstractRenderer::setViewportRect(const QRect &rect)

Устанавливает rect в качестве геометрии области просмотра, которая должна быть отрисована на поверхности.

См. также viewportRect().

void QSGAbstractRenderer::setViewportRect(const QSize &size)

Это перегруженный метод.

Устанавливает size области просмотра, которая должна быть отрисована на поверхности.

См. также viewportRect().

QRect QSGAbstractRenderer::viewportRect() const

Возвращает область просмотра для рендеринга.

См. также setViewportRect().

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

Spec-Zone.ru

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