Класс 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