Треугольные вентиляторы (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},
};
В приведенном ниже примере кода показано, как отобразить этот треугольник в Direct3D 9 с помощью IDirect3DDevice9::D rawPrimitive.
//
// It is assumed that d3dDevice is a valid
// pointer to a IDirect3DDevice9 interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4 );
Вентиляторы треугольников не поддерживаются в Direct3D 10 или более поздней версии.
Связанные темы