структура D3DHAL_DP2INDEXEDTRIANGLESTRIP (d3dhal.h)
Одна или несколько D3DHAL_DP2INDEXEDTRIANGLESTRIP структур анализируются из буфера команд с помощью обратного вызова D3dDrawPrimitives2, если член bCommandструктуры D3DHAL_DP2COMMAND имеет значение D3DDP2OP_INDEXEDTRIANGLESTRIP и используются для отрисовки полос соединенных треугольников с помощью индексов вершин.
Синтаксис
typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
Члены
wV[3]
Указывает индекс в буфере вершин, содержащий данные координат для первой вершины полосы треугольника.
Хотя в этом элементе достаточно места для трех индексов, этот массив индексов следует рассматривать как массив переменного размера с элементами (wPrimitiveCount + 2). (wPrimitiveCount является членом структуры D3DHAL_DP2COMMAND.)
Комментарии
D3dDrawPrimitives2 должен обрабатывать индексы (wPrimitiveCount+2) из буфера команд, фактически обрабатывая структуры wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLESTRIP.
Края треугольников в полосе треугольника отображаются в следующем порядке: (wV[0], wV[1], wV[2]), (wV[1], wV[3], wV[2]), (wV[2], wV[3], wV[4]), (wV[3], wV[5], wV[4]),...
Однако для последнего треугольника в полосе треугольника края отображаются в разных порядках, если wPrimitiveCountt является нечетным, а если он четный.
- Если wPrimitiveCount является нечетным числом, края последнего треугольника отображаются в следующем порядке: (wV[wPrimitiveCount - 1], wV[wPrimitiveCount], wV[wPrimitiveCount+ 1]).
- Если wPrimitiveCount является четным числом, края последнего треугольника отрисовываются в следующем порядке: (wV[wPrimitiveCount- 1], wV[wPrimitiveCount+1], wV[wPrimitiveCount).
На следующем рисунке показана часть примера буфера команд, содержащая команду D3DDP2OP_INDEXEDTRIANGLESTRIP, нулевое смещение D3DHAL_DP2STARTVERTEX и логический список D3DHAL_DP2INDEXEDTRIANGLESTRIP структур. Драйвер должен обработать пять вершин из буфера вершин, отрисовав полосу из трех треугольников, определенных (v[1], v[3], v[6]), (v[3], v[4], v[6]), (v[6], v[4], v[5]).

Требования
Требование | Значение |
---|---|
Заголовок | d3dhal.h (включая D3dhal.h) |
См. также раздел
D3DDP2OP_INDEXEDTRIANGLESTRIP