代码之家  ›  专栏  ›  技术社区  ›  Agnel Kurian

线和三角形组合的Direct3D网格

  •  0
  • Agnel Kurian  · 技术社区  · 15 年前

    我需要创建一个由一些顶点组成的Direct3D网格(在运行时生成),我需要将这些顶点呈现为LineList和TriangleList的组合。也就是说,有些顶点呈现为一个线性列表,而有些顶点呈现为一个三角列表。

    如何创建此Direct3D网格?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Goz    15 年前

    创建一个顶点缓冲区,并将所有顶点放在其中。

    接下来创建一个索引缓冲区。把行列表索引放在那里。接下来,将三角形列表索引添加到索引缓冲区。

    最后…渲染,如下所示:

    pDevice->DrawIndexedPrimitive( D3DPT_LINELIST, 0, 0, numLineIndices, 0, numLineIndices / 2 );
    pDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, numTriangleIndices, 0, numTriangleIndices / 3 );