ID3D11DeviceContext::GSSetConstantBuffers, méthode (d3d11.h)
Définit les mémoires tampons constantes utilisées par l’étape de pipeline du nuanceur geometry.
Syntaxe
void GSSetConstantBuffers(
[in] UINT StartSlot,
[in] UINT NumBuffers,
[in, optional] ID3D11Buffer * const *ppConstantBuffers
);
Paramètres
[in] StartSlot
Type : UINT
Indexez dans le tableau de base zéro de l’appareil pour commencer à définir les mémoires tampons constantes sur (comprises entre 0 et D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1).
[in] NumBuffers
Type : UINT
Nombre de mémoires tampons à définir (compris entre 0 et D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot).
[in, optional] ppConstantBuffers
Type : ID3D11Buffer*
Tableau de mémoires tampons constantes (voir ID3D11Buffer) données à l’appareil.
Valeur de retour
Aucune
Remarques
La méthode contient une référence aux interfaces passées. Cela diffère du comportement de l’état de l’appareil dans Direct3D 10.
Vous ne pouvez pas utiliser l’interface ID3D11ShaderReflectionConstantBuffer pour obtenir des informations sur ce qui est actuellement lié au pipeline dans le contexte de l’appareil. Toutefois, vous pouvez utiliser ID3D11ShaderReflectionConstantBuffer pour obtenir des informations à partir d’un nuanceur compilé. Par exemple, vous pouvez utiliser ID3D11ShaderReflectionConstantBuffer et ID3D11ShaderReflectionVariable pour déterminer l’emplacement dans lequel un nuanceur de géométrie attend une mémoire tampon constante. Vous pouvez ensuite passer ce numéro d’emplacement à GSSetConstantBuffers pour définir la mémoire tampon constante. Vous pouvez appeler la fonction D3D11Reflect pour récupérer l’adresse d’un pointeur vers l’interface ID3D11ShaderReflection , puis appeler ID3D11ShaderReflection::GetConstantBufferByName pour obtenir un pointeur vers ID3D11ShaderReflectionConstantBuffer.
Le runtime Direct3D 11.1, disponible à partir de Windows 8, peut lier un plus grand nombre de ressources ID3D11Buffer au nuanceur que la taille maximale de mémoire tampon constante prise en charge par les nuanceurs (4 096 constantes – 4composants 32 bits chacun). Lorsque vous liez une mémoire tampon aussi volumineuse, le nuanceur peut accéder uniquement aux premières constantes de composant 4096 432 bits dans la mémoire tampon, comme si les constantes 4096 correspond à la taille complète de la mémoire tampon.
Si l’application souhaite que le nuanceur accède à d’autres parties de la mémoire tampon, elle doit appeler la méthode GSSetConstantBuffers1 à la place.
Configuration requise
Plateforme cible | Windows |
En-tête | d3d11.h |
Bibliothèque | D3D11.lib |