Condividi tramite


Metodo IDirect3DDevice9::SetStreamSource (d3d9helper.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, compreso 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 dei vertici da associare al flusso di dati specificato.

[in] OffsetInBytes

Tipo: UINT

Offset dall'inizio del flusso all'inizio dei dati dei vertici, 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 viene D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere D3DERR_INVALIDCALL.

Commenti

Quando si usa un vertex shader FVF, lo stride del flusso dei vertici deve corrispondere alle dimensioni del vertice, calcolate dal FVF. Quando viene usata una dichiarazione, lo stride deve essere maggiore o uguale alla dimensione del flusso calcolata dalla dichiarazione.

Quando si chiama SetStreamSource, lo stride è in genere necessario per essere uguale alla dimensione del vertice. Tuttavia, in alcuni casi può essere necessario disegnare più istanze della stessa geometria o di una geometria simile, ad esempio quando si usa la creazione di istanze 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 sulla creazione di istanze, vedere Disegno efficiente di più istanze di geometria (Direct3D 9) .

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::D rawIndexedPrimitive

IDirect3DDevice9::D rawIndexedPrimitiveUP

IDirect3DDevice9::D rawPrimitive

IDirect3DDevice9::D rawPrimitiveUP

IDirect3DDevice9::GetStreamSource

Vertex Buffers (Direct3D 9)