Spec-Zone.ru › Qt 5.6

Класс RenderState

(QSGMaterialShader::RenderState)

Класс QSGMaterialShader::RenderState инкапсулирует текущее состояние отрисовки во время вызова QSGMaterialShader::updateState(). Подробнее...

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

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

Перечисление DirtyState { DirtyMatrix, DirtyOpacity }
Флаги DirtyStates

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

QMatrix4x4 combinedMatrix() const
QOpenGLContext * context() const
float determinant() const
float devicePixelRatio() const
QRect deviceRect() const
DirtyStates dirtyStates() const
bool isMatrixDirty() const
bool isOpacityDirty() const
QMatrix4x4 modelViewMatrix() const
float opacity() const
QMatrix4x4 projectionMatrix() const
QRect viewportRect() const

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

Класс QSGMaterialShader::RenderState инкапсулирует текущее состояние отрисовки во время вызова QSGMaterialShader::updateState().

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

Экземпляр действителен только внутри вызова QSGMaterialShader::updateState() и не должен использоваться вне этой функции.

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

Перечисление RenderState::DirtyState, флаги RenderState::DirtyStates

Константа Значение Описание
QSGMaterialShader::RenderState::DirtyMatrix 0x0001 Используется для указания того, что матрица изменилась и должна быть обновлена.
QSGMaterialShader::RenderState::DirtyOpacity 0x0002 Используется для указания того, что непрозрачность изменилась и должна быть обновлена.

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

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

QMatrix4x4 RenderState::combinedMatrix() const

Возвращает матрицу, полученную путем объединения матриц модели-представления и проекции.

QOpenGLContext *RenderState::context() const

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

float RenderState::determinant() const

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

float RenderState::devicePixelRatio() const

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

QRect RenderState::deviceRect() const

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

DirtyStates RenderState::dirtyStates() const

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

bool RenderState::isMatrixDirty() const

Возвращает true если dirtyStates() содержит состояние грязной матрицы, в противном случае возвращает false.

bool RenderState::isOpacityDirty() const

Возвращает true если dirtyStates() содержит состояние грязной непрозрачности, в противном случае возвращает false.

QMatrix4x4 RenderState::modelViewMatrix() const

Возвращает матрицу модели и вида.

Если материал имеет установленный флаг RequiresFullMatrix, это гарантированно полная матрица преобразования, вычисленная из графа сцены.

Однако, если этот флаг не установлен, рендерер может выбрать изменение этой матрицы. Например, он может предварительно преобразовать вершины на ЦП и установить эту матрицу в единичную.

В ситуации, подобной описанной выше, все равно можно получить фактическое значение определителя матрицы, установив флаг RequiresDeterminant в материале и вызвав accessor determinant().

float RenderState::opacity() const

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

QMatrix4x4 RenderState::projectionMatrix() const

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

QRect RenderState::viewportRect() const

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

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

Spec-Zone.ru

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