QRhiVertexInputLayout Class

頂点シェーダーが消費する頂点入力のレイアウトを記述します。詳細...

Header: #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

パブリック関数

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 &v, size_t seed = 0)
bool operator!=(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)
bool operator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)

詳細説明

頂点入力レイアウトは、QRhiVertexInputBindingQRhiVertexInputAttribute のコレクションによって定義されます。

例として、3 つのコンポーネントの頂点位置と 2 つのコンポーネントの UV 座標がインターリーブされた 1 つのバッファがあると仮定します (x,y,z,u,v)。頂点シェーダによって位置と UV は入力位置 0 と 1 に期待され、頂点バッファは後でsetVertexInput() を使用して結合点 0 で結合されます:

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

注意: これは互換性保証に制限のある RHI API です。詳細はQRhi を参照してください。

メンバ関数ドキュメント

[constexpr noexcept] QRhiVertexInputLayout::QRhiVertexInputLayout()

空の頂点入力レイアウト記述を構築します。

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

与えられたindex にある属性を返す。

qsizetype QRhiVertexInputLayout::attributeCount() const

属性の数を返します。

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

与えられたindex でバインディングを返します。

qsizetype QRhiVertexInputLayout::bindingCount() const

バインディングの数を返します。

const QRhiVertexInputAttribute *QRhiVertexInputLayout::cbeginAttributes() const

属性リストの最初の項目を指す const イテレータを返します。

const QRhiVertexInputBinding *QRhiVertexInputLayout::cbeginBindings() const

バインディングリストの最初の項目を指す const イテレータを返します。

const QRhiVertexInputAttribute *QRhiVertexInputLayout::cendAttributes() const

属性リストの最後の項目の直後を指す const イテレータを返します。

const QRhiVertexInputBinding *QRhiVertexInputLayout::cendBindings() const

バインディング・リストの最後の項目の直後を指す const イテレータを返します。

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

指定されたlist から属性を設定します。

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

イテレータfirst およびlast を用いて属性を設定します。

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

指定 し たlist か ら バ イ ンデ ィ ン グ を設定 し ます。

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

イテレータfirst およびlast を使用してバインディングを設定します。

関連する非会員

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

v のハ ッ シ ュ 値を返 し ます。計算のシード と し てseed を使用 し ます。

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

2 つのQRhiVertexInputLayout オブジェ ク トab の値が等しい場合はfalse を返し、 そうでない場合はtrue を返します。

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

つのQRhiVertexInputLayout オブジェクトab の値が等しい場合、true を返します。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。