Метод IDirect3DDevice9::GetStreamSource (d3d9helper.h)
Извлекает буфер вершин, привязанный к указанному потоку данных.
Синтаксис
HRESULT GetStreamSource(
UINT StreamNumber,
IDirect3DVertexBuffer9 **ppStreamData,
UINT *OffsetInBytes,
UINT *pStride
);
Параметры
StreamNumber
Тип: [in] UINT
Указывает поток данных в диапазоне от 0 до максимального числа потоков минус один.
ppStreamData
Тип: [in, out] IDirect3DVertexBuffer9**
Адрес указателя на интерфейс IDirect3DVertexBuffer9 , представляющий возвращенный буфер вершин, привязанный к указанному потоку данных.
OffsetInBytes
Тип: [out] UINT*
Указатель, содержащий смещение от начала потока к началу данных вершины. Смещение измеряется в байтах. См. заметки.
pStride
Тип: [out] UINT*
Указатель на возвращенный шаг компонента в байтах. См. заметки.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.
Комментарии
Поток определяется как универсальный массив данных компонентов, где каждый компонент состоит из одного или нескольких элементов, представляющих одну сущность, например позицию, нормаль, цвет и т. д.
При использовании вершинного шейдера FVF шаг потока вершины должен соответствовать размеру вершины, вычисленной на основе FVF. При использовании объявления шаг должен быть больше или равен размеру потока, вычисленного из объявления.
Вызов этого метода увеличивает количество внутренних ссылок в интерфейсе IDirect3DVertexBuffer9 . Сбой вызова IUnknown::Release после завершения использования этого интерфейса IDirect3DVertexBuffer9 приводит к утечке памяти.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |
См. также раздел
IDirect3DDevice9::DrawIndexedPrimitive
IDirect3DDevice9::DrawIndexedPrimitiveUP
IDirect3DDevice9::DrawPrimitive
IDirect3DDevice9::DrawPrimitiveUP