QSGRenderNode::RenderState Struct
struct QSGRenderNode::RenderStateLiefert Informationen über die Projektionsmatrix und das Clipping. Mehr...
Öffentliche Funktionen
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 |
Detaillierte Beschreibung
Der Renderstatus enthält Informationen für den Renderer, wenn er Befehle an die Scenegraph-Backends aufruft.
Siehe auch QSGRenderNode::render().
Dokumentation der Mitgliedsfunktionen
[pure virtual]
const QRegion *RenderState::clipRegion() const
Gibt die aktuelle Clip-Region zurück oder null für Backends, bei denen Clipping über Stencil oder Scissoring implementiert ist.
Das software
Backend verwendet keine Projektion, Schere oder Stencil, was bedeutet, dass der Großteil des Renderstatus nicht verwendet wird. Die Clip-Region, die auf QPainter gesetzt werden kann, muss aber trotzdem kommuniziert werden, da eine manuelle Rekonstruktion in render() nicht sinnvoll ist. Sie kann daher über diese Funktion abgefragt werden. Die Region liegt in Weltkoordinaten vor und kann mit Qt::ReplaceClip an QPainter::setClipRegion() übergeben werden. Dies muss vor dem Aufruf von QPainter::setTransform() geschehen, da die Clip-Region bereits auf die in QSGRenderNode::matrix() bereitgestellte Transformation abgebildet ist.
[virtual]
void *RenderState::get(const char *state) const
Gibt einen Zeiger auf einen state Wert zurück.
Reserviert für zukünftige Verwendung.
[pure virtual]
const QMatrix4x4 *RenderState::projectionMatrix() const
Gibt einen Zeiger auf die aktuelle Projektionsmatrix zurück.
Die Model-View-Matrix kann mit QSGRenderNode::matrix() abgerufen werden. Typischerweise ist projection * modelview
die Matrix, die dann im Vertex-Shader verwendet wird, um die Scheitelpunkte zu transformieren.
[pure virtual]
bool RenderState::scissorEnabled() const
Liefert den aktuellen Zustand des Scissoring.
Hinweis: Nur relevant für Grafik-APIs, die einen eigenen Ein/Aus-Zustand für die Scherenbildung haben.
[pure virtual]
QRect RenderState::scissorRect() const
Gibt das aktuelle Scherenrechteck zurück, wenn die Beschneidung aktiv ist. x und y sind die Koordinaten unten links.
[pure virtual]
bool RenderState::stencilEnabled() const
Gibt den aktuellen Status der Schablonenprüfung zurück.
Hinweis: Bei Grafik-APIs, bei denen das Testen von Schablonen in Pipeline-Zustandsobjekten anstelle von einzelnen Befehlen zum Setzen des Zustands aktiviert wird, obliegt es der Implementierung von render(), das Testen von Schablonen mit den Operationen KEEP
, der Vergleichsfunktion EQUAL
und einer Lese- und Schreibmaske von 0xFF
zu aktivieren.
[pure virtual]
int RenderState::stencilValue() const
Gibt den aktuellen Schablonenreferenzwert zurück, wenn die Beschneidung aktiv ist.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.