CD3DX12_STATE_OBJECT_DESC classe
Classe centrale des helpers de création d’objets d’état D3DX12, qui sont des classes d’assistance permettant de créer des objets d’état à partir d’un ensemble arbitraire de sous-objets.
Syntaxe
class CD3DX12_STATE_OBJECT_DESC
{
CD3DX12_STATE_OBJECT_DESC() noexcept;
CD3DX12_STATE_OBJECT_DESC(D3D12_STATE_OBJECT_TYPE) noexcept;
void SetStateObjectType(D3D12_STATE_OBJECT_TYPE) noexcept;
operator const D3D12_STATE_OBJECT_DESC& ();
operator const D3D12_STATE_OBJECT_DESC* ();
template<typename T> T* CreateSubobject();
};
Membres
CD3DX12_STATE_OBJECT_DESC
Constructeur par défaut. Crée un instance initialisé par défaut d’un CD3DX12_STATE_OBJECT_DESC.
CD3DX12_STATE_OBJECT_DESC(D3D12_STATE_OBJECT_TYPE)
Constructeur qui crée une instance d’un CD3DX12_STATE_OBJECT_DESC initialisé avec un type subjobject correspondant à la valeur du D3D12_STATE_OBJECT_TYPE passé.
SetStateObjectType(D3D12_STATE_OBJECT_TYPE)
Méthode qui définit le type subjobject sur la valeur du D3D12_STATE_OBJECT_TYPE passé à celui-ci.
operator const D3D12_STATE_OBJECT_DESC&
Opérateur de conversion qui retourne une référence à une constante D3D12_STATE_OBJECT_DESC objet décrivant l’objet d’état.
operator const D3D12_STATE_OBJECT_DESC*
Opérateur de conversion qui retourne un pointeur vers une constante D3D12_STATE_OBJECT_DESC objet décrivant l’objet d’état.
CreateSubobject
Modèle de fonction qui crée une assistance sububject dont la durée de vie appartient à cette classe.
Le paramètre de modèle T spécifie le type d’assistance d’un sous-objet, par exemple , CD3DX12_HIT_GROUP_SUBOBJECT.
Notes
Pour utiliser les helpers de création d’objet d’état D3DX12, commencez par instancier un objet CD3DX12_STATE_OBJECT_DESC et appelez sa fonction CreateSubobject pour créer des sous-objets. Les helpers de sous-objet ont chacun des méthodes spécifiques à ce sous-objet pour configurer son contenu.
CD3DX12_STATE_OBJECT_DESC Collection1(D3D12_STATE_OBJECT_TYPE_COLLECTION);
auto Lib0 = Collection1.CreateSubobject<CD3DX12_DXIL_LIBRARY_SUBOBJECT>();
Lib0->SetDXILLibrary(&pMyAppDxilLibs[0]);
Lib0->DefineExport(L"rayGenShader0");
// In practice, these export listings might be data/engine-driven.
...
Vous pouvez également instancier explicitement les assistances de sous-objets, par exemple via des variables locales, en passant l’objet d’état desc (qui doit pointer vers celui-ci) dans le constructeur d’assistance (ou appeler mySubobjectHelper.AddToStateObject(Collection1)
).
Dans ce scénario alternatif, vous devez conserver le sous-objet actif tant que l’objet d’état auquel il est associé est actif, sinon ses références de pointeur seront obsolètes.
CD3DX12_STATE_OBJECT_DESC RaytracingState2(D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE);
CD3DX12_DXIL_LIBRARY_SUBOBJECT LibA(RaytracingState2);
LibA.SetDXILLibrary(&pMyAppDxilLibs[4]);
// Not manually specifying exports; meaning that all exports in the libraries are exported.
...
Spécifications
Condition requise | Valeur |
---|---|
En-tête | D3dx12.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour