(DirectX 11) 单个顶点缓冲区可以一次绑定到多个 IA 输入槽吗?

Posted

技术标签:

【中文标题】(DirectX 11) 单个顶点缓冲区可以一次绑定到多个 IA 输入槽吗?【英文标题】:(DirectX 11) Can a single vertex buffer be bound to more than one IA input slot at a time? 【发布时间】:2015-04-30 14:02:32 【问题描述】:

如果我有不同的数据类型(例如位置、法线和颜色)没有交错但存储在同一个顶点缓冲区中,我可以将该缓冲区绑定到 IA 阶段中的多个输入槽以指向所有这 3 个数据区域同时进行?

【问题讨论】:

您能否准确说明您的数据布局方式以及原因? 【参考方案1】:

是的,这是完全允许的。

当您拨打IaSetVertexBuffers时

您可以提供 pOffsets 参数,它是缓冲区中的起始位置。

因此可以将相同的缓冲区分配到具有不同起始位置的不同槽中。

【讨论】:

以上是关于(DirectX 11) 单个顶点缓冲区可以一次绑定到多个 IA 输入槽吗?的主要内容,如果未能解决你的问题,请参考以下文章

Directx 11 - 是来自顶点缓冲区的所有顶点都推送到顶点着色器还是只是索引的顶点?

使用 DirectX11 更新非 UI 线程中的顶点缓冲区

将 FBX 顶点和索引缓冲区导入 DirectX 11

C++ DirectX 11 从第二个顶点缓冲区渲染问题

DirectX11--深入理解与使用缓冲区资源

在 DirectX 11 中使用索引缓冲区;它是怎么知道的?