Поделиться через


структура D3DHAL_DP2TRIANGLESTRIP (d3dhal.h)

Одна D3DHAL_DP2TRIANGLESTRIP структура анализируется из буфера команд с помощью обратного вызова D3dDrawPrimitives2, когда член bCommandструктуры D3DHAL_DP2COMMAND имеет значение D3DDP2OP_TRIANGLESTRIP и используется для отрисовки указанной связанной полосы треугольника.

Синтаксис

typedef struct _D3DHAL_DP2TRIANGLESTRIP {
  WORD wVStart;
} D3DHAL_DP2TRIANGLESTRIP, *LPD3DHAL_DP2TRIANGLESTRIP;

Члены

wVStart

Задает индекс буфера вершин, содержащего координатные данные для начальной вершины треугольной полосы.

Комментарии

Одна D3DHAL_DP2TRIANGLESTRIP структура соответствует структуре D3DHAL_DP2COMMAND в буфере команд.

D3dDrawPrimitives2 должен обработать общее количество вершин (wPrimitiveCount + 2) из буфера вершин. Значение wPrimitiveCount указывается в структуре D3DHAL_DP2COMMAND.

Края треугольника в треугольной полосе отображаются в следующем порядке: (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_TRIANGLESTRIP команду и одну D3DHAL_DP2TRIANGLESTRIP структуру. Драйвер должен обработать пять вершин из буфера вершин, отрисовав полосу из трех треугольников, определенных (v[0], v[1], v[2]), (v[1], v[3], v[2]), (v[2], v[3], v[4]). Рисунок, показывающий буфер команд с D3DDP2OP_TRIANGLESTRIP командой и одной D3DHAL_DP2TRIANGLESTRIP структурой

Требования

Требование Значение
Заголовок d3dhal.h (включая D3dhal.h)

См. также раздел

D3DDP2OP_TRIANGLESTRIP

D3DHAL_DP2COMMAND

D3dDrawPrimitives2