структура D3DHAL_DP2INDEXEDTRIANGLEFAN (d3dhal.h)
D3DHAL_DP2INDEXEDTRIANGLEFAN анализируется из буфера команд с помощью D3dDrawPrimitives2 обратного вызова, когда bCommand структуры D3DHAL_DP2COMMAND используется D3DDP2OP_INDEXEDTRIANGLEFAN для отображения последовательности подключенных треугольников с помощью индексов вершин. Все треугольники имеют общую вершину.
Синтаксис
typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
Члены
wV[3]
Задает индексы в буфер вершин, из которого драйвер получает данные координат для вершин, составляющих вентилятор треугольника.
Хотя этот элемент имеет достаточно места для хранения трех индексов, этот массив индексов следует рассматривать как массив переменных размера с элементами (wPrimitiveCount + 2). (wPrimitiveCount является членом структуры D3DHAL_DP2COMMAND.)
Замечания
D3dDrawPrimitives2 должен обрабатывать индексы (wPrimitiveCount+2) из буфера команд, в результате обрабатывая структуры wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN. Значение wPrimitiveCount указывается в структуре D3DHAL_DP2COMMAND.
Драйвер должен обработать в общей сложности (wPrimitiveCount + 2) вершин из буфера вершин, три вершины на треугольник. Последовательность отрисовок треугольников: (wV[1]] , wV[2], wV[0] ] (wV[2], wV[] 3], wV[0]] (wV[3]] wV[4], wV[]), ..., (wV[wPrimitiveCount], wV[wPrimitiveCount]+1] ], wV[0]). Обратите внимание, что все треугольники имеют вершину, указанную в wV[0]в общем.
Структура D3DHAL_DP2STARTVERTEX сразу же следует команде в буфере команд. Индексы буфера вершины относительно смещения буфера вершин, указанного элементом dwVertexOffset структуры D3DHAL_DRAWPRIMITIVES2DATA плюс базовое смещение, полученное из wVStart члена структуры D3DHAL_DP2STARTVERTEX.
На следующем рисунке показана часть примера буфера команд, содержащего команду D3DDP2OP_INDEXEDTRIANGLEFAN, смещение D3DHAL_DP2STARTVERTEX и логический список структур D3DHAL_DP2INDEXEDTRIANGLEFAN. Драйвер должен обрабатывать пять вершин из буфера вершин, отрисовка вентилятора с тремя треугольниками, определенными (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7]).

Требования
Требование | Ценность |
---|---|
заголовка | d3dhal.h (include D3dhal.h) |
См. также
D3DDP2OP_INDEXEDTRIANGLEFAN