Шаг 35 - Треугольники в виде веера

Треугольники в виде веера подбны списку треугольников с той лишь разницей, что все треугольники имеют одну общую вершину, как показано ниже на рисунке:

35_1.gif (1572 b)

Система использует вершины v2, v3, и v1, чтобы нарисовать первый треугольник, v3, v4, и v1 - второй треугольник, v4, v5, и v1 - третий треугольник и так далее. Когда применяют плоскую закраску, система закрашивает треугольник начиная с первой вершины.

Ниже показан треугольник, вершины которого расположены в виде веера:

35_2.gif (2725 b)

Ниже показан код, чтобы создать такой треугольник:

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 );

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Хавов Евгений Валерьевич - 23.08.2002