Метод IDirect3DDevice9::CreateIndexBuffer (d3d9.h)
Создает буфер индекса.
Синтаксис
HRESULT CreateIndexBuffer(
[in] UINT Length,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DIndexBuffer9 **ppIndexBuffer,
[in] HANDLE *pSharedHandle
);
Параметры
[in] Length
Тип: UINT
Размер буфера индекса в байтах.
[in] Usage
Тип: DWORD
Использование может иметь значение 0, что указывает на отсутствие значения использования. Однако при необходимости используйте сочетание одной или нескольких констант D3DUSAGE . Рекомендуется сопоставить параметр использования в CreateIndexBuffer с флагами поведения в IDirect3D9::CreateDevice. Дополнительные сведения см. в подразделе "Примечания".
[in] Format
Тип: D3DFORMAT
Член перечисленного типа D3DFORMAT , описывающий формат буфера индекса. Дополнительные сведения см. в подразделе "Примечания". Допустимые параметры:
Элемент | Описание |
---|---|
D3DFMT_INDEX16 | Индексы по 16 бит каждый. |
D3DFMT_INDEX32 | Индексы — 32 бита каждый. |
[in] Pool
Тип: D3DPOOL
Член перечисленного типа D3DPOOL , описывающий допустимый класс памяти, в который помещется ресурс.
[out, retval] ppIndexBuffer
Тип: IDirect3DIndexBuffer9**
Адрес указателя на интерфейс IDirect3DIndexBuffer9 , представляющий созданный ресурс буфера индекса.
[in] pSharedHandle
Тип: HANDLE*
Этот параметр можно использовать в Direct3D 9 для Windows Vista для совместного использования ресурсов; Присвойте ему значение NULL , чтобы не предоставлять общий доступ к ресурсу. Этот параметр не используется в Direct3D 9 для операционных систем, предшествующих Windows Vista; Задайте для него значение NULL.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. В случае сбоя метода возвращается одно из следующих значений: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA E_OUTOFMEMORY.
Комментарии
Буферы индексов — это ресурсы памяти, используемые для хранения индексов. Они похожи как на поверхности, так и на буферы вершин. Использование буферов индекса позволяет Direct3D избежать ненужного копирования данных и поместить буфер в оптимальный тип памяти для ожидаемого использования.
Чтобы использовать буферы индексов, создайте буфер индекса, заблокируйте его, заполните индексами, разблокируйте его, передайте в IDirect3Device9::SetIndices, настройте вершины, настройте шейдер вершин и вызовите IDirect3Device9::D rawIndexedPrimitive для отрисовки.
Элемент MaxVertexIndex структуры D3DCAPS9 указывает типы буферов индекса, допустимые для отрисовки.
Требования
Целевая платформа | Windows |
Header | d3d9.h (включая D3D9.h) |
Библиотека | D3D9.lib |