我需要创建一个由一些顶点(在运行时生成)组成的 Direct3D 网格,我需要将其渲染为 LineList 和 TriangleList 的组合。即一些顶点被呈现为一个LineList,其中一些被呈现为一个TriangleList。
如何创建此 Direct3D 网格?
那么创建一个顶点缓冲区并将所有顶点放入其中。
接下来创建一个索引缓冲区。将行列表索引放在那里。接下来将三角形列表索引添加到索引缓冲区。
最后..渲染,如下所示:
pDevice->DrawIndexedPrimitive( D3DPT_LINELIST, 0, 0, numLineIndices, 0, numLineIndices / 2 );
pDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, numTriangleIndices, 0, numTriangleIndices / 3 );