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