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 |