Spec-Zone.ru › Qt 5.15

Класс QSGAbstractRenderer

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

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

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

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

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

флаги ClearMode
перечисление ClearModeBit { ClearColorBuffer, ClearDepthBuffer, ClearStencilBuffer }
перечисление MatrixTransformFlag { MatrixTransformFlipY }
флаги MatrixTransformFlags

Функции публичного доступа

QColor clearColor() const
QSGAbstractRenderer::ClearMode clearMode() const
QRect deviceRect() const
QMatrix4x4 projectionMatrix() const
виртуальный void renderScene(uint fboId = 0) = 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 = 0)

Рендерит сцену в указанный 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.15/qsgabstractrenderer.html

Spec-Zone.ru

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