【问题标题】:Passing to directx vertex/indices buffers传递到 directx 顶点/索引缓冲区
【发布时间】:2016-08-25 17:39:23
【问题描述】:

我有一个关于 directx 的基本问题(我使用 d3d9), 看了一些教程后,我想创建一个基本的 3d 程序,但我似乎没有得到一件事。

每次我想将模型绘制到 1 个顶点缓冲区中时,是否需要复制顶点/索引? 或者我可以将多个模型加载到 1 个顶点/索引缓冲区中吗? 还是我需要为每个模型制作多个顶点/索引缓冲区?

【问题讨论】:

    标签: directx vertices copying


    【解决方案1】:

    你可以随心所欲,如果你看IDirect3DDevice9::DrawIndexedPrimitive,你会发现BaseVertexIndexStartIndex,它允许你偏移到顶点和索引缓冲区,所以是的,你可以打包几个同一缓冲区中的几何图形,这有助于减少对 SetIndicesSetStreamSource 的调用量。如果您的顶点步幅发生变化,您仍然需要使用字节偏移量和新的步幅调用后者。

    除非您处理动态几何图形,否则您通常会将数据复制到缓冲区一次,然后跨帧重复使用它们。

    【讨论】:

      猜你喜欢
      • 2015-08-23
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 2018-11-17
      • 2013-11-01
      相关资源
      最近更新 更多