QRhiVertexInputLayout Class

Beschreibt das Layout der Vertex-Eingänge, die von einem Vertex-Shader verbraucht werden. Mehr...

Kopfzeile: #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
Since: Qt 6.6

Öffentliche Funktionen

QRhiVertexInputLayout()
const QRhiVertexInputAttribute *attributeAt(qsizetype index) const
qsizetype attributeCount() const
const QRhiVertexInputBinding *bindingAt(qsizetype index) const
qsizetype bindingCount() const
const QRhiVertexInputAttribute *cbeginAttributes() const
const QRhiVertexInputBinding *cbeginBindings() const
const QRhiVertexInputAttribute *cendAttributes() const
const QRhiVertexInputBinding *cendBindings() const
void setAttributes(std::initializer_list<QRhiVertexInputAttribute> list)
void setAttributes(InputIterator first, InputIterator last)
void setBindings(std::initializer_list<QRhiVertexInputBinding> list)
void setBindings(InputIterator first, InputIterator last)
size_t qHash(const QRhiVertexInputLayout &key, size_t seed = 0)
bool operator!=(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)
bool operator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)

Detaillierte Beschreibung

Das Vertex-Eingangslayout wird durch die Sammlungen QRhiVertexInputBinding und QRhiVertexInputAttribute definiert.

Als Beispiel nehmen wir an, dass wir einen einzelnen Puffer mit 3 Komponenten-Vertex-Positionen und 2 Komponenten-UV-Koordinaten verschachtelt haben (x, y, z, u, v), dass die Position und die UV an den Eingabepositionen 0 und 1 vom Vertex-Shader erwartet werden und dass der Vertex-Puffer später mit setVertexInput() an den Bindepunkt 0 gebunden wird:

QRhiVertexInputLayout inputLayout;
inputLayout.setBindings({
    { 5 * sizeof(float) }
});
inputLayout.setAttributes({
    { 0, 0, QRhiVertexInputAttribute::Float3, 0 },
    { 0, 1, QRhiVertexInputAttribute::Float2, 3 * sizeof(float) }
});

Hinweis: Dies ist eine RHI-API mit begrenzten Kompatibilitätsgarantien, siehe QRhi für Details.

Dokumentation der Mitgliedsfunktionen

[constexpr noexcept] QRhiVertexInputLayout::QRhiVertexInputLayout()

Konstruiert eine leere Scheitelpunkt-Eingabe-Layoutbeschreibung.

const QRhiVertexInputAttribute *QRhiVertexInputLayout::attributeAt(qsizetype index) const

Gibt das Attribut unter der angegebenen Adresse index zurück.

qsizetype QRhiVertexInputLayout::attributeCount() const

Gibt die Anzahl der Attribute zurück.

const QRhiVertexInputBinding *QRhiVertexInputLayout::bindingAt(qsizetype index) const

Gibt die Bindung an die angegebene index zurück.

qsizetype QRhiVertexInputLayout::bindingCount() const

Gibt die Anzahl der Bindungen zurück.

const QRhiVertexInputAttribute *QRhiVertexInputLayout::cbeginAttributes() const

Gibt einen konstanten Iterator zurück, der auf das erste Element in der Attributliste zeigt.

const QRhiVertexInputBinding *QRhiVertexInputLayout::cbeginBindings() const

Gibt einen konstanten Iterator zurück, der auf das erste Element in der Bindungsliste zeigt.

const QRhiVertexInputAttribute *QRhiVertexInputLayout::cendAttributes() const

Gibt einen konstanten Iterator zurück, der direkt auf das letzte Element in der Attributliste zeigt.

const QRhiVertexInputBinding *QRhiVertexInputLayout::cendBindings() const

Gibt einen konstanten Iterator zurück, der direkt auf das letzte Element in der Bindungsliste zeigt.

void QRhiVertexInputLayout::setAttributes(std::initializer_list<QRhiVertexInputAttribute> list)

Setzt die Attribute aus dem angegebenen list.

template <typename InputIterator> void QRhiVertexInputLayout::setAttributes(InputIterator first, InputIterator last)

Setzt die Attribute mit Hilfe der Iteratoren first und last.

void QRhiVertexInputLayout::setBindings(std::initializer_list<QRhiVertexInputBinding> list)

Setzt die Bindungen aus dem angegebenen list.

template <typename InputIterator> void QRhiVertexInputLayout::setBindings(InputIterator first, InputIterator last)

Legt die Bindungen mit den Iteratoren first und last fest.

Verwandte Nicht-Mitglieder

[noexcept] size_t qHash(const QRhiVertexInputLayout &key, size_t seed = 0)

Gibt den Hash-Wert für key zurück, wobei seed als Startwert für die Berechnung verwendet wird.

[noexcept] bool operator!=(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)

Gibt false zurück, wenn die Werte in den beiden Objekten QRhiVertexInputLayout a und b gleich sind; andernfalls wird true zurückgegeben.

[noexcept] bool operator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)

Gibt true zurück, wenn die Werte in den beiden Objekten QRhiVertexInputLayout a und b gleich sind.

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