QRhiVertexInputLayout 类

描述了顶点着色器所消耗的顶点输入的布局。 更多信息...

头文件 #include <QRhiVertexInputLayout>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
Qt 6.6

公共函数

QRhiVertexInputLayout()
const QRhiVertexInputAttribute *attributeAt(qsizetype index) const
qsizetypeattributeCount() const
const QRhiVertexInputBinding *bindingAt(qsizetype index) const
qsizetypebindingCount() const
const QRhiVertexInputAttribute *cbeginAttributes() const
const QRhiVertexInputBinding *cbeginBindings() const
const QRhiVertexInputAttribute *cendAttributes() const
const QRhiVertexInputBinding *cendBindings() const
voidsetAttributes(std::initializer_list<QRhiVertexInputAttribute> list)
voidsetAttributes(InputIterator first, InputIterator last)
voidsetBindings(std::initializer_list<QRhiVertexInputBinding> list)
voidsetBindings(InputIterator first, InputIterator last)
size_tqHash(const QRhiVertexInputLayout &v, size_t seed = 0)
booloperator!=(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)
booloperator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)

详细描述

顶点输入布局由QRhiVertexInputBindingQRhiVertexInputAttribute集合定义。

例如,假设我们有一个包含3个分量顶点位置和2个分量 UV 坐标的单个缓冲区(交织的xyzuv),顶点着色器期望在输入位置0和1处获取位置和 UV,并且将使用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

返回指定索引的属性。

qsizetype QRhiVertexInputLayout::attributeCount() const

返回属性的数量。

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

返回指定索引的绑定。

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)

从指定的列表设置属性。

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

使用迭代器first和last设置属性。

void QRhiVertexInputLayout::setBindings(std::initializer_list<QRhiVertexInputBinding> 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)

如果两个 QRhiVertexInputLayout 对象 ab 的值相等,则返回 false;否则返回 true

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

如果两个 QRhiVertexInputLayout 对象 ab 的值相等,则返回 true

© 2024 Qt 公司。在此包含的文档贡献是各自所有者的版权。在此提供的文档是根据自由软件基金会发布的、GNU 自由文档许可协议版本 1.3 的条款进行许可的。Qt 及其相应标志是芬兰的 Qt 公司以及全球其他国家的商标。所有其他商标均为各自所有者的财产。