三角形列表
三角形列表是隔离的三角形的列表。 各个隔离的三角形可能相隔很近,也可能相隔不近。 三角形列表必须至少拥有 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 );
相关主题