Поделиться через


Метод IDirect3DDevice9::SetStreamSource (d3d9.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 шаг обычно должен быть равен размеру вершины. Однако бывают случаи, когда может потребоваться нарисовать несколько экземпляров одной или аналогичной геометрии (например, при использовании instancing для рисования). В этом случае используйте нулевой шаг, чтобы сообщить среде выполнения не увеличивать смещение буфера вершин (т. е. использовать одни и те же данные вершин для всех экземпляров). Дополнительные сведения о инстансинге см. в разделе Эффективное рисование нескольких экземпляров геометрии (Direct3D 9).

Требования

Требование Значение
Целевая платформа Windows
Header d3d9.h (включая D3D9.h)
Библиотека D3D9.lib

См. также раздел

IDirect3DDevice9

IDirect3DDevice9::DrawIndexedPrimitive

IDirect3DDevice9::DrawIndexedPrimitiveUP

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::DrawPrimitiveUP

IDirect3DDevice9::GetStreamSource

Буферы вершин (Direct3D 9)