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 );顶点着色器预期在输入位置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 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 QRhiVertexInputBinding *QRhiVertexInputLayout::cbeginBindings() const
返回一个指向绑定列表中第一个元素的常量迭代器。
const QRhiVertexInputAttribute *QRhiVertexInputLayout::cendAttributes() const
返回一个常量迭代器,该迭代器指向属性列表中最后一个项的下一位置。
const QRhiVertexInputBinding *QRhiVertexInputLayout::cendBindings() 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)
如果两个QRhiVertexInputLayout 对象a 和b 中的值相等,则返回false ;否则返回true 。
[noexcept] bool operator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)
如果两个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.