Método IDirect3DDevice9::SetStreamSource (d3d9helper.h)
Associa um buffer de vértice a um fluxo de dados do dispositivo. Para obter mais informações, consulte Setting the Stream Source (Direct3D 9).
Sintaxe
HRESULT SetStreamSource(
[in] UINT StreamNumber,
[in] IDirect3DVertexBuffer9 *pStreamData,
[in] UINT OffsetInBytes,
[in] UINT Stride
);
Parâmetros
[in] StreamNumber
Tipo: UINT
Especifica o fluxo de dados, no intervalo de 0 até o número máximo de fluxos -1.
[in] pStreamData
Tipo: IDirect3DVertexBuffer9*
Ponteiro para uma interface IDirect3DVertexBuffer9 , representando o buffer de vértice a ser associado ao fluxo de dados especificado.
[in] OffsetInBytes
Tipo: UINT
Deslocamento do início do fluxo para o início dos dados de vértice, em bytes. Para descobrir se o dispositivo dá suporte a deslocamentos de fluxo, consulte a constante D3DDEVCAPS2_STREAMOFFSET em D3DDEVCAPS2.
[in] Stride
Tipo: UINT
Passo do componente, em bytes. Consulte Observações.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL.
Comentários
Quando um sombreador de vértice FVF é usado, o passo do fluxo de vértice deve corresponder ao tamanho do vértice, calculado a partir do FVF. Quando uma declaração é usada, o passo a passo deve ser maior ou igual ao tamanho do fluxo calculado da declaração.
Ao chamar SetStreamSource, o passo é normalmente necessário para ser igual ao tamanho do vértice. No entanto, há ocasiões em que talvez você queira desenhar várias instâncias da mesma geometria ou semelhante (como ao usar a instanciação para desenhar). Nesse caso, use um passo zero para dizer ao runtime para não incrementar o deslocamento do buffer de vértice (ou seja: use os mesmos dados de vértice para todas as instâncias). Para obter mais informações sobre instanciação, consulte Desenhando com eficiência várias instâncias de geometria (Direct3D 9).
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |
Confira também
IDirect3DDevice9::DrawIndexedPrimitive
IDirect3DDevice9::DrawIndexedPrimitiveUP
IDirect3DDevice9::DrawPrimitive
IDirect3DDevice9::DrawPrimitiveUP