Метод IDirect3DDevice9::D rawIndexedPrimitive (d3d9.h)

На основе индексирования преобразовывает указанный геометрический примитив в массив вершин.

Синтаксис

HRESULT DrawIndexedPrimitive(
  [in] D3DPRIMITIVETYPE unnamedParam1,
  [in] INT              BaseVertexIndex,
  [in] UINT             MinVertexIndex,
  [in] UINT             NumVertices,
  [in] UINT             startIndex,
  [in] UINT             primCount
);

Параметры

[in] unnamedParam1

Тип: D3DPRIMITIVETYPE

Член перечисленного типа D3DPRIMITIVETYPE , описывающий тип примитива для отрисовки. D3DPT_POINTLIST не поддерживается этим методом. См. заметки.

[in] BaseVertexIndex

Тип: INT

Смещение от начала буфера вершин до первой вершины. См . сценарий 4.

[in] MinVertexIndex

Тип: UINT

Минимальный индекс вершин для вершин, используемых во время этого вызова. Это отсчитываемый от нуля индекс относительно BaseVertexIndex.

[in] NumVertices

Тип: UINT

Количество вершин, используемых во время этого вызова. Первая вершина находится по индексу: BaseVertexIndex + MinIndex.

[in] startIndex

Тип: UINT

Индекс первого индекса, используемого при доступе к буферу вершин. Начиная с StartIndex для индексирования вершин из буфера вершин.

[in] primCount

Тип: UINT

Число примитивов для отрисовки. Число используемых вершин является функцией числа примитивов и типа примитива. Максимальное допустимое количество примитивов определяется путем проверки элемента MaxPrimitiveCount структуры D3DCAPS9 .

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение может быть следующим: D3DERR_INVALIDCALL.

Комментарии

Этот метод извлекает индексированные примитивы из текущего набора потоков ввода данных. MinIndex и все индексы в потоке индекса относятся к BaseVertexIndex.

Параметры MinIndex и NumVertices указывают диапазон индексов вершин, используемых для каждого вызова IDirect3DDevice9::D rawIndexedPrimitive . Они используются для оптимизации обработки вершин индексированных примитивов путем обработки последовательного диапазона вершин перед индексированием в эти вершины. Недопустимый параметр для индексов, используемых во время этого вызова для ссылки на вершины за пределами этого диапазона.

IDirect3DDevice9::D rawIndexedPrimitive завершается ошибкой , если массив индексов не задан.

Элемент D3DPT_POINTLIST перечисленного типа D3DPRIMITIVETYPE не поддерживается и не является допустимым типом для этого метода.

При преобразовании устаревшего приложения в Direct3D 9 необходимо добавить вызов IDirect3DDevice9::SetFVF для использования конвейера фиксированной функции или IDirect3DDevice9::SetVertexDeclaration , чтобы использовать вершинный шейдер, прежде чем выполнять вызовы Draw.

Требования

   
Целевая платформа Windows
Header d3d9.h (включая D3D9.h)
Библиотека D3D9.lib

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

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

Буферы индексов (Direct3D 9)

Отрисовка из буферов вершин и индексов (Direct3D 9)

Буферы вершин (Direct3D 9)