Spec-Zone.ru › Qt 5.12

Класс RenderState

(QSGRenderNode::RenderState)
  • Список всех членов, включая унаследованные

Открытые функции

виртуальный const QRegion * clipRegion() const = 0
виртуальный void * get(const char *state) const
виртуальный const QMatrix4x4 * projectionMatrix() const = 0
виртуальный bool scissorEnabled() const = 0
виртуальный QRect scissorRect() const = 0
виртуальный bool stencilEnabled() const = 0
виртуальный int stencilValue() const = 0

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

[pure virtual] const QRegion *RenderState::clipRegion() const

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

Программный бэкэнд не использует проекцию, обрезку или маску, что означает, что большая часть состояния отрисовки не используется. Однако, область обрезки, которую можно установить в QPainter, всё равно необходимо передать, так как пересчёт её вручную в render() нецелесообразен. Поэтому её можно запросить с помощью этой функции. Область находится в координатах мира и может быть передана в QPainter::setClipRegion() с Qt::ReplaceClip. Это необходимо сделать до вызова QPainter::setTransform(), так как область обрезки уже отображена с учётом преобразования, предоставленного в QSGRenderNode::matrix().

[virtual] void *RenderState::get(const char *state) const

Возвращает указатель на значение state.

Зарезервировано для будущего использования.

[pure virtual] const QMatrix4x4 *RenderState::projectionMatrix() const

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

Матрицу модели-вида можно получить с помощью QSGRenderNode::matrix(). Обычно projection * modelview является матрицей, которая затем используется в вершинном шейдере для преобразования вершин.

[pure virtual] bool RenderState::scissorEnabled() const

Возвращает текущее состояние обрезки.

Примечание: Актуально только для графических API, имеющих отдельное состояние включения/выключения обрезки.

[pure virtual] QRect RenderState::scissorRect() const

Возвращает текущий прямоугольник обрезки при активной обрезке.

Примечание: Учитывайте различия между графическими API: для некоторых прямоугольник обрезки активен только при включённой обрезке (например, OpenGL), а для других он равен прямоугольнику области просмотра, когда нет необходимости отсекать ничего (например, Direct3D 12).

[pure virtual] bool RenderState::stencilEnabled() const

Возвращает текущее состояние проверки маски.

Примечание: Для графических API, где проверка маски включена в объекты состояния конвейера, а не в индивидуальных командах установки состояния, за включение проверки маски с операциями KEEP, функцией сравнения EQUAL, и маской чтения и записи 0xFF отвечает реализация render().

[pure virtual] int RenderState::stencilValue() const

Возвращает текущее значение ссылки маски при активной обрезке.

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

Spec-Zone.ru

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