Метод 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::DrawPrimitive