|  |  | 
A triangle fan is similar to a triangle strip, except that all the triangles share one vertex. This is shown in the following illustration:

The system uses vertices v2, v3, and v1 to draw the first triangle; v3, v4, and v1 to draw the second triangle; v4, v5, and v1 to draw the third triangle; and so on. When flat shading is enabled, the system shades the triangle with the color from its first vertex.
This illustration depicts a rendered triangle fan.

The following code shows how to create vertices for this triangle fan.
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},
};
    The code example below shows how to use IDirect3DDevice9::DrawPrimitive to render this triangle fan.
// // It is assumed that d3dDevice is a valid // pointer to a IDirect3DDevice9 interface. // d3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4 );