Класс QSGAbstractRenderer
QSGAbstractRenderer предоставляет доступ к узлам графика сцены и рендерингу QSGEngine. Подробнее...
| Заголовок: | #include <QSGAbstractRenderer> |
| qmake: | QT += quick |
| С тех пор: | Qt 5.4 |
| Наследуется от: | QObject |
Этот класс был представлен в Qt 5.4.
Открытые типы
| флаги | ClearMode |
| перечисление | ClearModeBit { ClearColorBuffer, ClearDepthBuffer, ClearStencilBuffer } |
Открытые функции
| 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 | 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
Используется с setClearMode() для указания, какой буфер следует очистить перед рендерингом сцены.
| Константа | Значение | Описание |
|---|---|---|
QSGAbstractRenderer::ClearColorBuffer |
0x0001 |
Очистить буфер цвета с помощью clearColor(). |
QSGAbstractRenderer::ClearDepthBuffer |
0x0002 |
Очистить буфер глубины. |
QSGAbstractRenderer::ClearStencilBuffer |
0x0004 |
Очистить буфер трафарета. |
Тип ClearMode — это псевдоним для QFlags<ClearModeBit>. Он хранит логическое ИЛИ комбинацию значений ClearModeBit.
См. также setClearMode() и setClearColor().
Документация по функциям-членам
[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)
Это перегруженный метод.
Устанавливает размер поверхности, на которой выполняется отрисовка.
См. также deviceRect().
void QSGAbstractRenderer::setProjectionMatrix(const QMatrix4x4 &matrix)
Используйте matrix для проецирования координат QSGNode на пиксели поверхности.
См. также projectionMatrix() и setProjectionMatrixToRect().
void QSGAbstractRenderer::setProjectionMatrixToRect(const QRectF &rect)
Удобный метод, вызывающий setProjectionMatrix() с ортогональной матрицей, сгенерированной из rect.
См. также 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)
Это перегруженный метод.
Устанавливает размер области просмотра для отрисовки на поверхности.
См. также 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.13/qsgabstractrenderer.html