2016-08-25 21 views
0

我有一个关于directx(即时使用d3d9), 基本问题,看了一些教程我想创建一个基本的3D程序,我似乎并没有得到1件事。传递给directx顶点/索引缓冲区

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

回答

0

您可以自由,你想做的事,如果你看看IDirect3DDevice9::DrawIndexedPrimitive,你会发现BaseVertexIndexStartIndex,它可以让你的偏移到顶点和索引缓冲,所以是的,你可以在相同的缓冲包装几个几何,这对减少拨打SetIndicesSetStreamSource的电话数量很有用。如果您的顶点步幅发生变化,您仍然必须使用字节偏移量和新的步幅来调用后者。

除非您处理动态几何,否则您通常会将数据复制一次到您的缓冲区,并在整个帧中重复使用它们。

相关问题