Microsoft DirectX 8.0 (C++) |
三角形ファンとは、次の図に示すように、すべての三角形が 1 つの頂点を共有するという点を除いては、三角形ストリップに類似したものである。
システムでは、頂点 v2、v3、v1 を使用して最初の三角形を、v3、v4、v1 を使用して 2 番目の三角形を、v4、v5、v1 を使用して 3 番目の三角形を、という手順で描画していく。フラット シェーディングが有効な場合、三角形は最初の頂点の色でシェーディングされる。
次の図は、レンダリングされる三角形ファンを示している。
次のコードは、三角形ファンに対して頂点を作成する方法を示している。
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}, };
次のコードは、IDirect3DDevice8::DrawPrimitive を使用して、三角形ファンをレンダリングする方法を示している。
// // d3dDevice は、IDirect3DDevice8 インターフェイスへの // 有効なポインタであると仮定している。 // d3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4 );