Класс RenderState
(QSGMaterialShader::RenderState)Класс QSGMaterialShader::RenderState инкапсулирует текущее состояние отрисовки во время вызова QSGMaterialShader::updateState(). Подробнее...
| Заголовок: | #include <RenderState> |
| qmake: | QT += quick |
Открытые типы
| Перечисление | DirtyState { DirtyMatrix, DirtyOpacity, DirtyCachedMaterialData, DirtyAll } |
| Флаги | DirtyStates |
Открытые функции
| QMatrix4x4 | combinedMatrix() const |
| QOpenGLContext * | context() const |
| float | determinant() const |
| float | devicePixelRatio() const |
| QRect | deviceRect() const |
| RenderState::DirtyStates | dirtyStates() const |
| bool | isCachedMaterialDataDirty() 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 |
Используется для указания того, что непрозрачность изменилась и должна быть обновлена. |
QSGMaterialShader::RenderState::DirtyCachedMaterialData |
0x0004 |
Используется для указания того, что данные кэшированного материала изменились и должны быть обновлены. |
QSGMaterialShader::RenderState::DirtyAll |
0xFFFF |
Используется для указания того, что все нужно обновить. |
Тип 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
Возвращает прямоугольник устройства, на которое происходит отрисовка.
RenderState::DirtyStates RenderState::dirtyStates() const
Возвращает состояния отрисовки, которые изменились и которые необходимо обновить для геометрии, отрисовываемой с этим материалом, чтобы соответствовать текущему состоянию отрисовки.
bool RenderState::isCachedMaterialDataDirty() const
Возвращает true если dirtyStates() содержит состояние кэшированных данных материала, в противном случае возвращает false.
bool RenderState::isMatrixDirty() const
Возвращает true если dirtyStates() содержит состояние матрицы, в противном случае возвращает false.
bool RenderState::isOpacityDirty() const
Возвращает true если dirtyStates() содержит состояние непрозрачности, в противном случае возвращает false.
QMatrix4x4 RenderState::modelViewMatrix() const
Возвращает матрицу модели-вида.
Если материал имеет установленный флаг RequiresFullMatrix, гарантируется, что это полная матрица преобразования, рассчитанная из графа сцены.
Однако, если этот флаг не установлен, рендерер может выбрать изменение этой матрицы. Например, он может предварительно преобразовать вершины на ЦПУ и установить эту матрицу в единичную.
В ситуации, подобной описанной выше, все равно можно получить фактический определитель матрицы, установив флаг RequiresDeterminant в материале и вызвав аксессор 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.11/qsgmaterialshader-renderstate.html