三角形风扇 (Direct3D 9)

三角形风扇类似于三角形带,只不过所有三角形共享一个顶点,如下图所示。

三角形风扇的插图

系统使用顶点 v2、v3 和 v1 绘制第一个三角形;v3、v4 和 v1 绘制第二个三角形;v4、v5 和 v1 绘制第三个三角形;等等。 启用平面底纹后,系统会使用第一个顶点的颜色为三角形着色。

下图描绘了呈现的三角形风扇。

呈现的三角形风扇的插图

以下代码演示如何为此三角形扇区创建顶点。

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

CUSTOMVERTEX Vertices[] = 
{
    { 0.0, 0.0, 0.0},
    {-5.0, 5.0, 0.0},
    {-3.0,  7.0, 0.0},
    { 0.0, 10.0, 0.0},
    { 3.0,  7.0, 0.0},
    { 5.0,  5.0, 0.0},
};

下面的代码示例演示如何使用 IDirect3DDevice9::D rawPrimitive 在 Direct3D 9 中呈现此三角形风扇。

//
// It is assumed that d3dDevice is a valid
// pointer to a IDirect3DDevice9 interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4 );

Direct3D 10 或更高版本不支持三角形风扇。

基元