QSGRenderNode::RenderState Struct

struct QSGRenderNode::RenderState

Liefert 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.