QRhiVertexInputLayout 类
描述了顶点着色器所消耗的顶点输入的布局。 更多信息...
头文件 | #include <QRhiVertexInputLayout> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
自 | 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) |
详细描述
顶点输入布局由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]
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 对象 a 和 b 的值相等,则返回 false
;否则返回 true
。
[noexcept]
bool operator==(const QRhiVertexInputLayout &a, const QRhiVertexInputLayout &b)
如果两个 QRhiVertexInputLayout 对象 a 和 b 的值相等,则返回 true
。
© 2024 Qt 公司。在此包含的文档贡献是各自所有者的版权。在此提供的文档是根据自由软件基金会发布的、GNU 自由文档许可协议版本 1.3 的条款进行许可的。Qt 及其相应标志是芬兰的 Qt 公司以及全球其他国家的商标。所有其他商标均为各自所有者的财产。