Метод IDirect3DDevice9::D rawIndexedPrimitiveUP (d3d9.h)
Отрисовывает указанный геометрический примитив с данными, заданными указателем пользовательской памяти.
Синтаксис
HRESULT DrawIndexedPrimitiveUP(
[in] D3DPRIMITIVETYPE PrimitiveType,
[in] UINT MinVertexIndex,
[in] UINT NumVertices,
[in] UINT PrimitiveCount,
[in] const void *pIndexData,
[in] D3DFORMAT IndexDataFormat,
[in] const void *pVertexStreamZeroData,
[in] UINT VertexStreamZeroStride
);
Параметры
[in] PrimitiveType
Тип: D3DPRIMITIVETYPE
Член D3DPRIMITIVETYPE перечисляемого типа, описывающего тип примитива для отрисовки.
[in] MinVertexIndex
Тип: UINT
Минимальный индекс вершины. Это отсчитываемый от нуля индекс.
[in] NumVertices
Тип: UINT
Количество вершин, используемых во время этого вызова. Первая вершина находится по индексу: MinVertexIndex.
[in] PrimitiveCount
Тип: UINT
Число примитивов для отрисовки. Максимально допустимое количество примитивов определяется путем проверки элемента MaxPrimitiveCount структуры D3DCAPS9 (число индексов является функцией числа примитива и типа примитива).
[in] pIndexData
Тип: const void*
Указатель пользовательской памяти на данные индекса.
[in] IndexDataFormat
Тип: D3DFORMAT
Член перечисленного типа D3DFORMAT , описывающий формат данных индекса. Допустимые параметры:
[in] pVertexStreamZeroData
Тип: const void*
Указатель пользовательской памяти на данные вершины. Данные вершины должны находиться в потоке 0.
[in] VertexStreamZeroStride
Тип: UINT
Количество байтов данных для каждой вершины. Это значение может быть не равно 0.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение может быть следующим: D3DERR_INVALIDCALL.
Комментарии
Этот метод предназначен для использования в приложениях, которые не могут хранить данные вершин в буферах вершин. Этот метод поддерживает только один поток вершин, который должен быть объявлен как поток 0.
После любого вызова IDirect3DDevice9::D rawIndexedPrimitiveUP параметры потока 0, на которые ссылается IDirect3Device9::GetStreamSource, имеют значение NULL. Кроме того, параметру буфера индекса для IDirect3Device9::SetIndices присваивается значение NULL.
Данные вершин, передаваемые в IDirect3DDevice9::D rawIndexedPrimitiveUP , не должны сохраняться после вызова. Direct3D завершает доступ к этим данным перед возвратом из вызова.
При преобразовании устаревшего приложения в Direct3D 9 необходимо добавить вызов IDirect3DDevice9::SetFVF для использования конвейера фиксированной функции или IDirect3DDevice9::SetVertexDeclaration , чтобы использовать вершинный шейдер, прежде чем выполнять вызовы Draw.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9.h (включая D3D9.h) |
Библиотека | D3D9.lib |