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


Метод 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

IDirect3DDevice9::DrawIndexedPrimitive

IDirect3DDevice9::DrawIndexedPrimitiveUP

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::DrawPrimitiveUP

IDirect3DDevice9::GetStreamSource

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