Spec-Zone.ru › Qt 5.12

Класс 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/qt-5.12/qsgmaterialshader-renderstate.html

Spec-Zone.ru

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