このページでは

QRhiVertexInputLayout Class

頂点シェーダーが使用する頂点入力のレイアウトについて説明します。詳細...

ヘッダー: #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
以下のように: 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 &key, size_t seed = 0)
bool operator!=(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)
bool operator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)

詳細な説明

頂点入力レイアウトは、QRhiVertexInputBinding およびQRhiVertexInputAttribute の集合によって定義されます。

例として、 3成分の頂点位置と2成分のUV座標がインターリーブされた単一のバッファ(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 default] 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 &key, size_t seed = 0)

`key` のハッシュ値を返します。計算のシードには `seed ` を使用します。

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

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

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

2つのQRhiVertexInputLayout オブジェクト(a およびb )の値が等しい場合、true を返します。

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