Метод IDirect3DDevice9::SetStreamSource (d3d9helper.h)
Привязывает буфер вершин к потоку данных устройства. Дополнительные сведения см. в разделе Настройка источника Stream (Direct3D 9).
Синтаксис
HRESULT SetStreamSource(
[in] UINT StreamNumber,
[in] IDirect3DVertexBuffer9 *pStreamData,
[in] UINT OffsetInBytes,
[in] UINT Stride
);
Параметры
[in] StreamNumber
Тип: UINT
Указывает поток данных в диапазоне от 0 до максимального числа потоков -1.
[in] pStreamData
Тип: IDirect3DVertexBuffer9*
Указатель на интерфейс IDirect3DVertexBuffer9 , представляющий буфер вершин для привязки к указанному потоку данных.
[in] OffsetInBytes
Тип: UINT
Смещение от начала потока до начала данных вершины в байтах. Чтобы узнать, поддерживает ли устройство смещение потока, ознакомьтесь с константой D3DDEVCAPS2_STREAMOFFSET в D3DDEVCAPS2.
[in] Stride
Тип: UINT
Шаг компонента в байтах. См. заметки.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.
Комментарии
При использовании шейдера вершин FVF шаг потока вершин должен соответствовать размеру вершины, вычисленной из FVF. При использовании объявления шаг должен быть больше или равен размеру потока, вычисленного из объявления.
При вызове SetStreamSource шаг обычно должен быть равен размеру вершины. Однако бывают случаи, когда может потребоваться нарисовать несколько экземпляров одной и той же или аналогичной геометрии (например, при использовании инстансинга для рисования). В этом случае используйте нулевой шаг, чтобы сообщить среде выполнения не увеличивать смещение буфера вершин (т. е. использовать одни и те же данные вершин для всех экземпляров). Дополнительные сведения об инстансинге см. в разделе Эффективное рисование нескольких экземпляров геометрии (Direct3D 9).
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |
См. также раздел
IDirect3DDevice9::DrawIndexedPrimitive
IDirect3DDevice9::DrawIndexedPrimitiveUP
IDirect3DDevice9::DrawPrimitive
IDirect3DDevice9::DrawPrimitiveUP