CD3DX12_STATE_OBJECT_DESC clase
La clase central de los asistentes de creación de objetos de estado D3DX12, que son clases auxiliares para crear objetos de estado a partir de un conjunto arbitrario de subobjetos.
Sintaxis
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();
};
Miembros
CD3DX12_STATE_OBJECT_DESC
Constructor predeterminado. Crea una nueva instancia inicializada de forma predeterminada de un CD3DX12_STATE_OBJECT_DESC.
CD3DX12_STATE_OBJECT_DESC(D3D12_STATE_OBJECT_TYPE)
Constructor que crea una nueva instancia de un CD3DX12_STATE_OBJECT_DESC inicializado con un tipo de subobjeto correspondiente al valor del D3D12_STATE_OBJECT_TYPE pasado a él.
SetStateObjectType(D3D12_STATE_OBJECT_TYPE)
Método que establece el tipo de subjobject en el valor del D3D12_STATE_OBJECT_TYPE pasado a él.
operator const D3D12_STATE_OBJECT_DESC&
Operador de conversión que devuelve una referencia a una constante D3D12_STATE_OBJECT_DESC objeto que describe el objeto de estado.
operator const D3D12_STATE_OBJECT_DESC*
Operador de conversión que devuelve un puntero a una constante D3D12_STATE_OBJECT_DESC objeto que describe el objeto de estado.
CreateSubobject
Plantilla de función que crea un asistente de subsubjeciones cuya duración pertenece a esta clase.
El parámetro template T especifica el tipo auxiliar de subjobject, por ejemplo, CD3DX12_HIT_GROUP_SUBOBJECT.
Comentarios
Para usar los asistentes de creación de objetos de estado D3DX12, comience creando instancias de un objeto CD3DX12_STATE_OBJECT_DESC y llame a su función CreateSubobject para crear subobjetos. Cada uno de los asistentes de subobjetos tiene métodos específicos de ese subobjeto para configurar su contenido.
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.
...
Como alternativa, puede crear instancias de los asistentes de subobjetos explícitamente, como a través de variables locales en su lugar, pasando el objeto de estado desc (que debe apuntar a él) en el constructor auxiliar (o llamar a mySubobjectHelper.AddToStateObject(Collection1)
).
En este escenario alternativo, debe mantener activo el subobjeto siempre que el objeto de estado al que está asociado esté activo; de lo contrario, sus referencias de puntero estarán obsoletas.
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.
...
Requisitos
Requisito | Value |
---|---|
Encabezado | D3dx12.h |