三角形列表

三角形列表是隔离的三角形的列表。 各个隔离的三角形可能相隔很近,也可能相隔不近。 三角形列表必须至少拥有 3 个顶点,并且顶点总数必须可以被 3 整除。

示例

使用三角形列表创建由非连续部分构成的对象。 例如,在 3D 游戏中创建力场墙的一种方式是指定大量小型的未连接三角形。 然后,应用似乎向三角形列表发射光的材料和纹理。 墙中的每个三角形似乎都发光。 墙后的场景通过三角形之间的空隙变得部分可见,因为玩家在查看力场时可能需要获得此效果。

三角形列表还可用于创建具有锐边并通过高氏着色来着色的基元。 请参阅人脸和顶点的法线向量

下图描绘了已呈现的三角形列表。

已呈现三角形列表的图示

以下代码说明如何为此三角形列表创建顶点。

struct CUSTOMVERTEX
{
    float x,y,z;
};

CUSTOMVERTEX Vertices[] = 
{
    {-5.0, -5.0, 0.0},
    { 0.0,  5.0, 0.0},
    { 5.0, -5.0, 0.0},
    {10.0,  5.0, 0.0},
    {15.0, -5.0, 0.0},
    {20.0,  5.0, 0.0}

};

下面的代码示例说明如何在 Direct3D 中呈现此三角形列表。

//
// It is assumed that d3dDevice is a valid
// pointer to a device interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 2 );

基元