Partager via


ID3D10Device ::SOSetTargets, méthode (d3d10.h)

Définissez les mémoires tampons de sortie cibles pour la phase StreamOutput , ce qui permet/désactive le pipeline de diffuser en continu des données.

Syntaxe

void SOSetTargets(
  [in] UINT         NumBuffers,
  [in] ID3D10Buffer * const *ppSOTargets,
  [in] const UINT   *pOffsets
);

Paramètres

[in] NumBuffers

Type : UINT

Nombre de mémoires tampons à lier à l’appareil. Un maximum de quatre mémoires tampons de sortie peut être défini. Si moins de quatre sont définis par l’appel, les emplacements de mémoire tampon restants sont définis sur NULL. Consultez la section Notes.

[in] ppSOTargets

Type : ID3D10Buffer*

Tableau des mémoires tampons de sortie (voir ID3D10Buffer) à lier à l’appareil. Les mémoires tampons doivent avoir été créées avec l’indicateur D3D10_BIND_STREAM_OUTPUT .

[in] pOffsets

Type : const UINT*

Tableau de décalages vers les mémoires tampons de sortie à partir de ppSOTargets, un décalage pour chaque mémoire tampon. Les valeurs de décalage doivent être en octets.

Valeur de retour

None

Remarques

Appelez ID3D10Device ::SOSetTargets (avant tout appel de dessin) pour diffuser des données en continu ; appelez SOSetTargets avec NULL pour arrêter la diffusion en continu des données. Pour obtenir un exemple, consultez l’exercice 01 de l’atelier GDC 2007, qui définit les cibles de rendu de sortie de flux avant d’appeler les méthodes draw dans la fonction RenderInstanceToStream.

Un décalage de -1 entraîne l’ajout de la mémoire tampon de sortie de flux, en continuant après le dernier emplacement écrit dans la mémoire tampon dans un passage de sortie de flux précédent.

L’appel de cette méthode à l’aide d’une mémoire tampon actuellement liée à l’écriture liera plutôt la valeur NULL , car une mémoire tampon ne peut pas être liée à la fois en tant qu’entrée et en sortie.

La couche Debug génère un avertissement chaque fois qu’une ressource ne peut pas être liée simultanément en tant qu’entrée et en sortie, mais cela n’empêche pas l’utilisation de données non valides par le runtime.

La méthode ne contient pas de référence aux interfaces passées. Pour cette raison, les applications doivent veiller à ne pas libérer une interface actuellement utilisée par l’appareil.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d10.h
Bibliothèque D3D10.lib

Voir aussi

ID3D10Device Interface