Spec-Zone.ru › Qt 5.11

Класс RenderState

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

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

virtual ~RenderState()
virtual const QRegion * clipRegion() const = 0
virtual void * get(const char *state) const
virtual const QMatrix4x4 * projectionMatrix() const = 0
virtual bool scissorEnabled() const = 0
virtual QRect scissorRect() const = 0
virtual bool stencilEnabled() const = 0
virtual int stencilValue() const = 0

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

[virtual] RenderState::~RenderState()

Уничтожает экземпляр RenderState. Деструктор является виртуальным.

[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, где тестирование маски включено в объекты состояния конвейера, а не в отдельных командах изменения состояния, реализация render() должна включать тестирование маски с операциями KEEP, функцией сравнения EQUAL, и маской чтения и записи 0xFF.

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

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

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

Spec-Zone.ru

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