QSGGeometry Class
Die Klasse „QSGGeometry“ bietet eine Low-Level-Speicherlösung für Grafikprimitive im „Qt Quick “-Szenengraphen. Mehr...
| Header: | #include <QSGGeometry> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake: | QT += quick |
Öffentliche Typen
| struct | Attribute |
| struct | AttributeSet |
| struct | ColoredPoint2D |
| struct | Point2D |
| struct | TexturedPoint2D |
| enum | AttributeType { UnknownAttribute, PositionAttribute, ColorAttribute, TexCoordAttribute, TexCoord1Attribute, TexCoord2Attribute } |
| enum | DataPattern { AlwaysUploadPattern, DynamicPattern, StaticPattern, StreamPattern } |
| enum | DrawingMode { DrawPoints, DrawLines, DrawLineStrip, DrawTriangles, DrawTriangleStrip } |
| enum | Type { ByteType, UnsignedByteType, ShortType, UnsignedShortType, IntType, …, DoubleType } |
Öffentliche Funktionen
| QSGGeometry(const QSGGeometry::AttributeSet &attributes, int vertexCount, int indexCount = 0, int indexType = UnsignedShortType) | |
| virtual | ~QSGGeometry() |
| void | allocate(int vertexCount, int indexCount = 0) |
| int | attributeCount() const |
| const QSGGeometry::Attribute * | attributes() const |
| unsigned int | drawingMode() const |
| int | indexCount() const |
| void * | indexData() |
| const void * | indexData() const |
| uint * | indexDataAsUInt() |
| const uint * | indexDataAsUInt() const |
| quint16 * | indexDataAsUShort() |
| const quint16 * | indexDataAsUShort() const |
| QSGGeometry::DataPattern | indexDataPattern() const |
| int | indexType() const |
| float | lineWidth() const |
| void | markIndexDataDirty() |
| void | markVertexDataDirty() |
| void | setDrawingMode(unsigned int mode) |
(since 6.10) void | setIndexCount(int count) |
| void | setIndexDataPattern(QSGGeometry::DataPattern p) |
| void | setLineWidth(float width) |
(since 6.10) void | setVertexCount(int count) |
| void | setVertexDataPattern(QSGGeometry::DataPattern p) |
| int | sizeOfIndex() const |
| int | sizeOfVertex() const |
| int | vertexCount() const |
| void * | vertexData() |
| const void * | vertexData() const |
| QSGGeometry::ColoredPoint2D * | vertexDataAsColoredPoint2D() |
| const QSGGeometry::ColoredPoint2D * | vertexDataAsColoredPoint2D() const |
| QSGGeometry::Point2D * | vertexDataAsPoint2D() |
| const QSGGeometry::Point2D * | vertexDataAsPoint2D() const |
| QSGGeometry::TexturedPoint2D * | vertexDataAsTexturedPoint2D() |
| const QSGGeometry::TexturedPoint2D * | vertexDataAsTexturedPoint2D() const |
| QSGGeometry::DataPattern | vertexDataPattern() const |
Statische öffentliche Elemente
| const QSGGeometry::AttributeSet & | defaultAttributes_ColoredPoint2D() |
| const QSGGeometry::AttributeSet & | defaultAttributes_Point2D() |
| const QSGGeometry::AttributeSet & | defaultAttributes_TexturedPoint2D() |
| void | updateColoredRectGeometry(QSGGeometry *g, const QRectF &rect) |
| void | updateRectGeometry(QSGGeometry *g, const QRectF &rect) |
| void | updateTexturedRectGeometry(QSGGeometry *g, const QRectF &rect, const QRectF &textureRect) |
Ausführliche Beschreibung
Die Klasse `QSGGeometry` speichert die Geometrie der mit dem Szenengraphen gerenderten Primitive. Sie enthält Vertexdaten und optional Indexdaten. Der Modus, der zum Zeichnen der Geometrie verwendet wird – auch als Primitivtopologie bezeichnet –, wird mit ` setDrawingMode()` festgelegt.
Scheitelpunkte können so einfach wie durch x- und y-Werte definierte Punkte sein oder komplexer, wobei jeder Scheitelpunkt eine Normale, Texturkoordinaten und eine 3D-Position enthält. Mit ` QSGGeometry::AttributeSet ` wird beschrieben, wie die Scheitelpunktdaten aufgebaut sind. Der Attributsatz kann nur bei der Erstellung festgelegt werden. Die Klasse `QSGGeometry` stellt standardmäßig einige Komfortattribute und Attributsätze bereit. Die Funktion ` defaultAttributes_Point2D()` gibt einen Attributsatz zurück, der für normale, einfarbige Rechtecke verwendet wird, während die Funktion ` defaultAttributes_TexturedPoint2D ` Attribute zurückgibt, die für texturierte 2D-Geometrien verwendet werden. Die Scheitelpunktdaten werden intern als „ void * “ gespeichert und sind über die Funktion „ vertexData()“ zugänglich. Komfortable Zugriffsfunktionen für die gängigen Attributsätze stehen mit „ vertexDataAsPoint2D()“ und „ vertexDataAsTexturedPoint2D()“ zur Verfügung. Scheitelpunktdaten werden zugewiesen, indem eine Scheitelpunktanzahl an den Konstruktor übergeben wird oder indem später „ allocate()“ aufgerufen wird.
Die Anzahl der Scheitelpunkte und Indizes kann nach der Erstellung geändert werden, indem die Methode ` allocate()` verwendet wird, um die Größe des Datenpuffers anzupassen. Die Methode ` allocate()` erfordert jedoch bei jedem Aufruf die Aktualisierung aller Scheitelpunkt- und Indexdaten. Seit Qt 6.10 ermöglichen die Methoden ` setVertexCount()` und ` setIndexCount()` die Anpassung der Anzahl der Scheitelpunkte oder Indizes, ohne den Datenpuffer neu zuzuweisen, und erfordern lediglich die Aktualisierung neuer Scheitelpunkte oder Indizes. In beiden Fällen muss der Aufrufer den Geometrie-Knoten durch den Aufruf von ` node->markDirty(QSGNode::DirtyGeometry)` als „dirty“ markieren, um sicherzustellen, dass der Renderer die Möglichkeit hat, interne Puffer zu aktualisieren.
Die `QSGGeometry` kann optional Indizes enthalten, die entweder aus vorzeichenlosen 32-Bit-, vorzeichenlosen 16-Bit- oder vorzeichenlosen 8-Bit-Ganzzahlen bestehen. Der Indextyp muss beim Erstellen festgelegt werden und kann nicht mehr geändert werden.
Im folgenden Codeausschnitt wird veranschaulicht, wie eine Geometrie aus Positions- und Farb-Vertices erstellt werden kann.
struct MyPoint2D {
float x;
float y;
float r;
float g;
float b;
float a;
void set(float x_, float y_, float r_, float g_, float b_, float a_) {
x = x_;
y = y_;
r = r_;
g = g_;
b = b_;
a = a_;
}
};
QSGGeometry::Attribute MyPoint2D_Attributes[] = {
QSGGeometry::Attribute::create(0, 2, FloatType, true),
QSGGeometry::Attribute::create(1, 4, FloatType, false)
};
QSGGeometry::AttributeSet MyPoint2D_AttributeSet = {
2,
sizeof(MyPoint2D),
MyPoint2D_Attributes
};
...
geometry = new QSGGeometry(MyPoint2D_AttributeSet, 2);
geometry->setDrawingMode(DrawLines);
MyPoint2D *vertices = static_cast<MyPoint2D *>(geometry->vertexData());
vertices[0].set(0, 0, 1, 0, 0, 1);
vertices[1].set(width(), height(), 0, 0, 1, 1);Die `QSGGeometry` ist ein Software-Puffer und im Hinblick auf das beschleunigte Rendering clientseitig, da die in der 2D-Grafik verwendeten Puffer typischerweise aus vielen kleinen Puffern bestehen, die sich mit jedem Frame ändern und für die ein Hochladen in den Grafikspeicher keinen Vorteil bietet. Die QSGGeometry unterstützt jedoch die Angabe an den Renderer, dass ein Puffer mithilfe der Funktionen ` setVertexDataPattern()` und ` setIndexDataPattern()` hochgeladen werden soll. Ob dieser Hinweis berücksichtigt wird oder nicht, ist implementierungsabhängig.
Hinweis: Alle Klassen mit dem Präfix „QSG“ sollten ausschließlich im Rendering-Thread des Szenengraphen verwendet werden. Weitere Informationen finden Sie unter „Szenengraph und Rendering “.
Siehe auch „ QSGGeometryNode “ und „Szenengraph – Benutzerdefinierte Geometrie“.
Dokumentation zu Mitgliedstypen
enum QSGGeometry::AttributeType
Diese Enumeration definiert verschiedene Attributtypen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSGGeometry::UnknownAttribute | 0 | Egal |
QSGGeometry::PositionAttribute | 1 | Position |
QSGGeometry::ColorAttribute | 2 | Farbe |
QSGGeometry::TexCoordAttribute | 3 | Texturkoordinate |
QSGGeometry::TexCoord1Attribute | 4 | Texturkoordinate 1 |
QSGGeometry::TexCoord2Attribute | 5 | Texturkoordinate 2 |
enum QSGGeometry::DataPattern
Die enum „DataPattern“ dient dazu, das Verwendungsmuster für die Knoten- und Indexdaten in einem Geometrieobjekt festzulegen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSGGeometry::AlwaysUploadPattern | 0 | Die Daten werden immer hochgeladen. Das bedeutet, dass der Benutzer Index- und Scheitelpunktdaten nach einer Änderung nicht explizit als „dirty“ markieren muss. Dies ist die Standardeinstellung. |
QSGGeometry::DynamicPattern | 2 | Die Daten werden wiederholt geändert und mehrfach gezeichnet. Dies ist ein Hinweis, der zu einer besseren Leistung führen kann. Wenn diese Option aktiviert ist, muss der Benutzer sicherstellen, dass die Daten nach einer Änderung als „dirty“ markiert werden. |
QSGGeometry::StaticPattern | 3 | Die Daten werden einmal geändert und mehrfach gezeichnet. Dies ist ein Hinweis, der zu einer besseren Leistung führen kann. Wenn diese Option aktiviert ist, muss der Benutzer darauf achten, die Daten nach einer Änderung als „dirty“ zu markieren. |
QSGGeometry::StreamPattern | 1 | Die Daten werden bei fast jeder Darstellung geändert. Dies ist ein Hinweis, der zu einer besseren Leistung führen kann. Wenn diese Option aktiviert ist, muss der Benutzer darauf achten, die Daten nach einer Änderung als „dirty“ zu markieren. |
enum QSGGeometry::DrawingMode
Legt den Zeichenmodus fest, der auch als „Primitivtopologie“ bezeichnet wird.
Hinweis: Ab Qt 6 stellt der Szenenbaum nur noch Topologien bereit, die von allen unterstützten 3D-Grafik-APIs unterstützt werden. Daher werden die Werte „ DrawLineLoop “ und „ DrawTriangleFan “ in Qt 6 zur Laufzeit nicht mehr unterstützt, auch wenn die Enum-Werte selbst weiterhin vorhanden sind.
| Konstante | Wert |
|---|---|
QSGGeometry::DrawPoints | 0x0000 |
QSGGeometry::DrawLines | 0x0001 |
QSGGeometry::DrawLineStrip | 0x0003 |
QSGGeometry::DrawTriangles | 0x0004 |
QSGGeometry::DrawTriangleStrip | 0x0005 |
enum QSGGeometry::Type
Gibt den Komponententyp in den Scheitelpunktdaten an.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSGGeometry::ByteType | 0x1400 | |
QSGGeometry::UnsignedByteType | 0x1401 | |
QSGGeometry::ShortType | 0x1402 | |
QSGGeometry::UnsignedShortType | 0x1403 | |
QSGGeometry::IntType | 0x1404 | |
QSGGeometry::UnsignedIntType | 0x1405 | |
QSGGeometry::FloatType | 0x1406 | |
QSGGeometry::Bytes2Type | 0x1407 | In Qt 5.14 hinzugefügt. |
QSGGeometry::Bytes3Type | 0x1408 | Hinzugefügt in Qt 5.14. |
QSGGeometry::Bytes4Type | 0x1409 | Hinzugefügt in Qt 5.14. |
QSGGeometry::DoubleType | 0x140A | Hinzugefügt in Qt 5.14. |
Dokumentation zu Mitgliedsfunktionen
QSGGeometry::QSGGeometry(const QSGGeometry::AttributeSet &attributes, int vertexCount, int indexCount = 0, int indexType = UnsignedShortType)
Erstellt ein Geometrieobjekt auf der Grundlage von attributes.
Das Objekt reserviert Speicherplatz für die Eckpunkte von „ vertexCount “ basierend auf der kumulierten Größe in „ attributes “ sowie für „ indexCount “.
indexType kann entweder UnsignedShortType oder UnsignedIntType sein. Die Unterstützung für Letzteres hängt von der zur Laufzeit verwendeten Grafik-API-Implementierung ab und ist möglicherweise nicht immer verfügbar.
Geometrieobjekte werden standardmäßig mit „ DrawTriangleStrip “ als Zeichenmodus erstellt.
Hinweis: „ attributes “ und die darin referenzierten „ Attribute “-Objekte müssen während der gesamten Lebensdauer des „QSGGeometry“-Objekts gültig bleiben. „QSGGeometry“ speichert einen Verweis auf „ attributes “ und löscht die „ Attribute “-Objekte nicht.
[virtual noexcept] QSGGeometry::~QSGGeometry()
Löscht das Geometrieobjekt sowie die von ihm zugewiesenen Scheitelpunkt- und Indexdaten.
void QSGGeometry::allocate(int vertexCount, int indexCount = 0)
Passen Sie die Größe der Scheitelpunkt- und Indexdaten dieses Geometrieobjekts so an, dass sie zu vertexCount Scheitelpunkten und indexCount Indizes passen, und legen Sie die Anzahl der Scheitelpunkte und Indizes entsprechend fest.
Verwenden Sie „ setVertexCount()“ oder „ setIndexCount()“, um die Anzahl der Scheitelpunkte oder Indizes zu ändern, ohne „allocate()“ erneut aufzurufen.
Die Eckpunkt- und Indexdaten werden nach diesem Aufruf ungültig, und der Aufrufer muss den zugehörigen Geometrie-Knoten durch Aufruf von ` node->markDirty(QSGNode::DirtyGeometry)` als „dirty“ markieren, um sicherzustellen, dass der Renderer die Möglichkeit hat, interne Puffer zu aktualisieren.
Siehe auch ` setVertexCount()` und ` setIndexCount()`.
int QSGGeometry::attributeCount() const
Gibt die Anzahl der Attribute in dem von dieser Geometrie verwendeten Attributsatz zurück.
const QSGGeometry::Attribute *QSGGeometry::attributes() const
Gibt ein Array mit den Attributen dieser Geometrie zurück. Die Größe des Arrays wird mit ` attributeCount()` angegeben.
[static] const QSGGeometry::AttributeSet &QSGGeometry::defaultAttributes_ColoredPoint2D()
Hilfsfunktion, die Attribute zurückgibt, die für die farbige 2D-Darstellung einzelner Eckpunkte verwendet werden sollen.
[static] const QSGGeometry::AttributeSet &QSGGeometry::defaultAttributes_Point2D()
Hilfsfunktion, die Attribute zurückgibt, die für die 2D-Flächenfarbe verwendet werden sollen.
[static] const QSGGeometry::AttributeSet &QSGGeometry::defaultAttributes_TexturedPoint2D()
Hilfsfunktion, die Attribute zurückgibt, die für das texturierte 2D-Zeichnen verwendet werden sollen.
unsigned int QSGGeometry::drawingMode() const
Gibt den Zeichenmodus dieser Geometrie zurück.
Der Standardwert ist „ DrawTriangleStrip “.
Siehe auch ` setDrawingMode()`.
int QSGGeometry::indexCount() const
Gibt die Anzahl der Indizes zurück, die beim Rendern des Geometrieobjekts verarbeitet werden.
Siehe auch ` setIndexCount()`.
void *QSGGeometry::indexData()
Gibt einen Zeiger auf die Rohindexdaten dieses Geometrieobjekts zurück.
Siehe auch „ indexDataAsUShort()“ und „ indexDataAsUInt()“.
const void *QSGGeometry::indexData() const
Gibt einen Zeiger auf die Rohindexdaten dieses Geometrieobjekts zurück.
Siehe auch „ indexDataAsUShort()“ und „ indexDataAsUInt()“.
uint *QSGGeometry::indexDataAsUInt()
Hilfsfunktion zum Abrufen der Indexdaten als veränderbliches Array aus 32-Bit-Ganzzahlen ohne Vorzeichen.
const uint *QSGGeometry::indexDataAsUInt() const
Hilfsfunktion zum Abrufen der Indexdaten als unveränderliches Array aus 32-Bit-Ganzzahlen ohne Vorzeichen.
quint16 *QSGGeometry::indexDataAsUShort()
Hilfsfunktion für den Zugriff auf die Indexdaten als veränderbare Array aus 16-Bit-Ganzzahlen ohne Vorzeichen.
const quint16 *QSGGeometry::indexDataAsUShort() const
Hilfsfunktion zum Abrufen der Indexdaten als unveränderliches Array aus 16-Bit-Ganzzahlen ohne Vorzeichen.
QSGGeometry::DataPattern QSGGeometry::indexDataPattern() const
Gibt das Verwendungsmuster für Indizes in dieser Geometrie zurück. Das Standardmuster lautet „ AlwaysUploadPattern “.
Siehe auch ` setIndexDataPattern()`.
int QSGGeometry::indexType() const
Gibt den für Indizes in diesem Geometrieobjekt verwendeten Primitivtyp zurück.
float QSGGeometry::lineWidth() const
Ruft die aktuelle Linien- oder Punktbreite ab, die für diese Geometrie verwendet werden soll. Diese Eigenschaft gilt nur für die Linienbreite, wenn der Wert von „ drawingMode “ auf „ DrawLines “ oder „ DrawLineStrip “ gesetzt ist. Sofern unterstützt, gilt sie auch für die Punktgröße, wenn der Wert von „ drawingMode “ auf „ DrawPoints “ gesetzt ist.
Der Standardwert ist 1.0
Hinweis: Die Unterstützung für Punkt- und Linienzeichnung kann zur Laufzeit je nach Plattform und Grafik-API eingeschränkt sein. Einige APIs unterstützen beispielsweise keine Punkt-Sprites, sodass die Festlegung einer Größe ungleich 1 nicht möglich ist.
Hinweis: Die Breite von „ 1.0 “ wird immer unterstützt.
Siehe auch „ setLineWidth()“ und „ drawingMode()“.
void QSGGeometry::markIndexDataDirty()
Beachten Sie, dass sich die Scheitelpunkte dieser Geometrie geändert haben und erneut hochgeladen werden müssen.
Diese Funktion hat nur dann eine Auswirkung, wenn das Verwendungsmuster für Scheitelpunkte „StaticData“ lautet und der Renderer, der diese Geometrie rendert, die Geometrie in Vertex-Buffer-Objekte (VBOs) hochlädt.
void QSGGeometry::markVertexDataDirty()
Beachten Sie, dass sich die Eckpunkte dieser Geometrie geändert haben und erneut hochgeladen werden müssen.
Diese Funktion wirkt sich nur aus, wenn das Verwendungsmuster für Scheitelpunkte „StaticData“ lautet und der Renderer, der diese Geometrie rendert, die Geometrie in Vertex-Buffer-Objekte (VBOs) hochlädt.
void QSGGeometry::setDrawingMode(unsigned int mode)
Legt die „ mode “ fest, die zum Zeichnen dieser Geometrie verwendet werden soll.
Der Standardwert ist ` QSGGeometry::DrawTriangleStrip`.
Siehe auch „ drawingMode()“ und „ DrawingMode “.
[since 6.10] void QSGGeometry::setIndexCount(int count)
Legt die Anzahl der Indizes fest, die bei jedem Rendern des Geometrieobjekts verarbeitet werden sollen.
Die Funktion „ count “ wird nicht validiert, und es liegt in der Verantwortung des Benutzers, sicherzustellen, dass nur Werte zwischen Null und der Anzahl der zugewiesenen Indizes angegeben werden.
Vertex- und Indexdaten werden nach diesem Aufruf nicht ungültig gemacht, aber der Aufrufer muss den Geometrie-Knoten durch Aufruf von ` node->markDirty(QSGNode::DirtyGeometry)` als „dirty“ markieren, um sicherzustellen, dass der Renderer die Möglichkeit hat, interne Puffer zu aktualisieren.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch ` indexCount()`.
void QSGGeometry::setIndexDataPattern(QSGGeometry::DataPattern p)
Legt das Verwendungsmuster für Indizes auf „ p “ fest.
Der Standardwert ist „ AlwaysUploadPattern “. Wenn ein anderer Wert als der Standardwert festgelegt wird, muss der Benutzer nach dem Ändern der Indexdaten zusätzlich zum Aufruf von „ QSGNode::markDirty()“ mit „ QSGNode::DirtyGeometry “ auch „ markIndexDataDirty()“ aufrufen.
Siehe auch ` indexDataPattern()`.
void QSGGeometry::setLineWidth(float width)
Legt die für diese Geometrie zu verwendende Linien- oder Punktbreite auf „ width “ fest. Diese Eigenschaft gilt nur für die Linienbreite, wenn der Wert von „ drawingMode “ auf „ DrawLines “ oder „ DrawLineStrip “ gesetzt ist. Sofern unterstützt, gilt sie auch für die Punktgröße, wenn der Wert von „ drawingMode “ auf „ DrawPoints “ gesetzt ist.
Hinweis: Die Unterstützung für Punkt- und Linienzeichnung kann zur Laufzeit je nach Plattform und Grafik-API eingeschränkt sein. Einige APIs unterstützen beispielsweise keine Punkt-Sprites, sodass die Festlegung einer Größe ungleich 1 nicht möglich ist.
Hinweis: Die Breite von ` 1.0 ` wird immer unterstützt.
Siehe auch „ lineWidth()“ und „ drawingMode()“.
[since 6.10] void QSGGeometry::setVertexCount(int count)
Legt die Anzahl der zu rendernden Eckpunkte fest.
Der Parameter „ count “ wird nicht validiert, und es liegt in der Verantwortung des Benutzers, sicherzustellen, dass nur Werte zwischen Null und der Anzahl der zugewiesenen Scheitelpunkte angegeben werden.
Die Scheitelpunktdaten werden nach diesem Aufruf nicht ungültig gemacht, aber der Aufrufer muss den Geometrie-Knoten durch Aufruf von ` node->markDirty(QSGNode::DirtyGeometry)` als „dirty“ markieren, um sicherzustellen, dass der Renderer die Möglichkeit hat, interne Puffer zu aktualisieren.
Diese Funktion wurde in Qt 6.10 eingeführt.
Siehe auch ` vertexCount()`.
void QSGGeometry::setVertexDataPattern(QSGGeometry::DataPattern p)
Legt das Verwendungsmuster für Knoten auf „ p “ fest.
Der Standardwert ist „ AlwaysUploadPattern “. Wenn ein anderer Wert als der Standardwert festgelegt wird, muss der Benutzer nach dem Ändern der Eckpunktdaten zusätzlich zum Aufruf von „ QSGNode::markDirty()“ mit „ QSGNode::DirtyGeometry “ auch „ markVertexDataDirty()“ aufrufen.
Siehe auch ` vertexDataPattern()`.
int QSGGeometry::sizeOfIndex() const
Gibt die Bytegröße des Indextyps zurück.
Dieser Wert ist entweder „ 2 “, wenn der Indextyp „ UnsignedShortType “ ist, oder „ 4 “, wenn der Indextyp „ UnsignedIntType “ ist.
int QSGGeometry::sizeOfVertex() const
Gibt die Größe eines Scheitelpunkts in Byte zurück.
Dieser Wert stammt aus den Attributen.
[static] void QSGGeometry::updateColoredRectGeometry(QSGGeometry *g, const QRectF &rect)
Aktualisiert die Geometrie „ g “ mit den Koordinaten aus „ rect “.
Die Funktion setzt voraus, dass das Geometrieobjekt einen einzelnen Dreiecksstreifen mit den Scheitelpunkten aus QSGGeometry::ColoredPoint2D enthält.
[static] void QSGGeometry::updateRectGeometry(QSGGeometry *g, const QRectF &rect)
Aktualisiert die Geometrie g mit den Koordinaten in rect.
Die Funktion setzt voraus, dass das Geometrieobjekt einen einzelnen Dreiecksstreifen mit den Scheitelpunkten aus QSGGeometry::Point2D enthält.
[static] void QSGGeometry::updateTexturedRectGeometry(QSGGeometry *g, const QRectF &rect, const QRectF &textureRect)
Aktualisiert die Geometrie g mit den Koordinaten aus rect und den Texturkoordinaten aus textureRect.
textureRect sollten in normalisierten Koordinaten vorliegen.
g Es wird angenommen, dass es sich um einen Dreiecksstreifen mit vier Eckpunkten vom Typ QSGGeometry::TexturedPoint2D handelt.
int QSGGeometry::vertexCount() const
Gibt die Anzahl der Knoten zurück, die gerendert werden können, oder – falls Indizes verwendet werden – die Anzahl der Knoten, auf die über Indizes zugegriffen werden kann.
Siehe auch ` setVertexCount()`.
void *QSGGeometry::vertexData()
Gibt einen Zeiger auf die Rohdaten der Eckpunkte dieses Geometrieobjekts zurück.
Siehe auch „ vertexDataAsPoint2D()“ und „ vertexDataAsTexturedPoint2D()“.
const void *QSGGeometry::vertexData() const
Gibt einen Zeiger auf die Rohdaten der Eckpunkte dieses Geometrieobjekts zurück.
Siehe auch „ vertexDataAsPoint2D()“ und „ vertexDataAsTexturedPoint2D()“.
QSGGeometry::ColoredPoint2D *QSGGeometry::vertexDataAsColoredPoint2D()
Hilfsfunktion zum Abrufen der Eckpunktdaten als veränderbare Array-Struktur vom Typ „ QSGGeometry::ColoredPoint2D “.
const QSGGeometry::ColoredPoint2D *QSGGeometry::vertexDataAsColoredPoint2D() const
Hilfsfunktion zum Abrufen der Eckpunktdaten als unveränderliches Array vom Typ „ QSGGeometry::ColoredPoint2D “.
QSGGeometry::Point2D *QSGGeometry::vertexDataAsPoint2D()
Hilfsfunktion zum Abrufen der Eckpunktdaten als veränderbare Array-Struktur vom Typ „ QSGGeometry::Point2D “.
const QSGGeometry::Point2D *QSGGeometry::vertexDataAsPoint2D() const
Hilfsfunktion zum Abrufen der Eckpunktdaten als unveränderliches Array vom Typ „ QSGGeometry::Point2D “.
QSGGeometry::TexturedPoint2D *QSGGeometry::vertexDataAsTexturedPoint2D()
Hilfsfunktion zum Abrufen der Eckpunktdaten als veränderbare Array-Struktur vom Typ „ QSGGeometry::TexturedPoint2D “.
const QSGGeometry::TexturedPoint2D *QSGGeometry::vertexDataAsTexturedPoint2D() const
Hilfsfunktion zum Abrufen der Eckpunktdaten als unveränderliches Array vom Typ „ QSGGeometry::TexturedPoint2D “.
QSGGeometry::DataPattern QSGGeometry::vertexDataPattern() const
Gibt das Verwendungsmuster für die Eckpunkte dieser Geometrie zurück. Das Standardmuster lautet „ AlwaysUploadPattern “.
Siehe auch „ setVertexDataPattern()“.
© 2026 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.