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::D rawIndexedPrimitive
IDirect3DDevice9::D rawIndexedPrimitiveUP
IDirect3DDevice9::D rawPrimitive
IDirect3DDevice9::D rawPrimitiveUP