Condividi tramite


Metodo IDirect3DDevice9::SetStreamSource (d3d9.h)

Associa un buffer dei vertici a un flusso di dati del dispositivo. Per altre informazioni, vedere Impostazione dell'origine Stream (Direct3D 9).

Sintassi

HRESULT SetStreamSource(
  [in] UINT                   StreamNumber,
  [in] IDirect3DVertexBuffer9 *pStreamData,
  [in] UINT                   OffsetInBytes,
  [in] UINT                   Stride
);

Parametri

[in] StreamNumber

Tipo: UINT

Specifica il flusso di dati, nell'intervallo compreso tra 0 e il numero massimo di flussi -1.

[in] pStreamData

Tipo: IDirect3DVertexBuffer9*

Puntatore a un'interfaccia IDirect3DVertexBuffer9 che rappresenta il buffer del vertice da associare al flusso di dati specificato.

[in] OffsetInBytes

Tipo: UINT

Offset dall'inizio del flusso all'inizio dei dati del vertice, in byte. Per scoprire se il dispositivo supporta gli offset di flusso, vedere la costante D3DDEVCAPS2_STREAMOFFSET in D3DDEVCAPS2.

[in] Stride

Tipo: UINT

Stride del componente, in byte. Vedere la sezione Osservazioni.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere D3DERR_INVALIDCALL.

Commenti

Quando viene usato un vertex shader FVF, lo stride del flusso del vertice deve corrispondere alle dimensioni del vertice, calcolate dall'FVF. Quando viene usata una dichiarazione, lo stride deve essere maggiore o uguale alla dimensione del flusso calcolata dalla dichiarazione.

Quando si chiama SetStreamSource, è normalmente necessario che lo stride sia uguale alle dimensioni del vertice. Tuttavia, è possibile che si voglia disegnare più istanze della stessa geometria o simile, ad esempio quando si usa instancing per disegnare. Per questo caso, usare uno stride zero per indicare al runtime di non incrementare l'offset del buffer dei vertici (ad esempio: usare gli stessi dati dei vertici per tutte le istanze). Per altre informazioni sull'instancing, vedere Disegno efficiente di più istanze di Geometry (Direct3D 9).

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9.h (includere D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::D rawIndexedPrimitive

IDirect3DDevice9::D rawIndexedPrimitiveUP

IDirect3DDevice9::D rawPrimitive

IDirect3DDevice9::D rawPrimitiveUP

IDirect3DDevice9::GetStreamSource

Buffer vertex (Direct3D 9)