Partager via


Méthode IDirect3DDevice9 ::SetStreamSource (d3d9.h)

Lie une mémoire tampon de vertex à un flux de données d’appareil. Pour plus d’informations, consultez Définition de la source Stream (Direct3D 9).

Syntaxe

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

Paramètres

[in] StreamNumber

Type : UINT

Spécifie le flux de données, compris entre 0 et le nombre maximal de flux -1.

[in] pStreamData

Type : IDirect3DVertexBuffer9*

Pointeur vers une interface IDirect3DVertexBuffer9 , représentant la mémoire tampon de vertex à lier au flux de données spécifié.

[in] OffsetInBytes

Type : UINT

Décalage du début du flux au début des données de vertex, en octets. Pour savoir si l’appareil prend en charge les décalages de flux, consultez la constante D3DDEVCAPS2_STREAMOFFSET dans D3DDEVCAPS2.

[in] Stride

Type : UINT

Stride du composant, en octets. Consultez la section Notes.

Valeur de retour

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Remarques

Lorsqu’un nuanceur de vertex FVF est utilisé, la foulée du flux de vertex doit correspondre à la taille du vertex, calculée à partir de la FVF. Lorsqu’une déclaration est utilisée, la foulée doit être supérieure ou égale à la taille de flux calculée à partir de la déclaration.

Lors de l’appel de SetStreamSource, la foulée doit normalement être égale à la taille du vertex. Toutefois, il peut arriver que vous souhaitiez dessiner plusieurs instances de la même géométrie ou d’une géométrie similaire (par exemple, lors de l’utilisation de l’instanciation pour dessiner). Dans ce cas, utilisez une foulée nulle pour indiquer au runtime de ne pas incrémenter le décalage de la mémoire tampon de vertex (par exemple, utiliser les mêmes données de vertex pour toutes les instances). Pour plus d’informations sur l’instanciation, consultez Dessin efficace de plusieurs instances de geometry (Direct3D 9).

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9.h (inclure D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DDevice9

IDirect3DDevice9 ::D rawIndexedPrimitive

IDirect3DDevice9 ::D rawIndexedPrimitiveUP

IDirect3DDevice9 ::D rawPrimitive

IDirect3DDevice9 ::D rawPrimitiveUP

IDirect3DDevice9 ::GetStreamSource

Mémoires tampons de vertex (Direct3D 9)