Метод IDirect3DDevice9::D rawIndexedPrimitiveUP (d3d9helper.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 | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |