estructura D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC (d3d12.h)
Describe una estructura de aceleración raytracing. Pase esta estructura a ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure para describir la estructura de aceleración que se va a compilar.
Sintaxis
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
Miembros
DestAccelerationStructureData
Ubicación para almacenar la estructura de aceleración resultante. ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo informa de la cantidad de memoria necesaria para el resultado aquí dado un conjunto de parámetros de compilación de estructura de aceleración.
La dirección debe estar alineada con 256 bytes, definida como D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT.
Importante
La memoria debe estar en estado D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
Inputs
Descripción de los datos de entrada para la compilación de la estructura de aceleración. Se trata de datos almacenados en una estructura independiente porque también se usa con GetRaytracingAccelerationStructurePrebuildInfo.
SourceAccelerationStructureData
Dirección de una estructura de aceleración existente si se solicita una actualización de la estructura de aceleración (una compilación incremental), estableciendo D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE en el parámetro Flags. De lo contrario, esta dirección debe ser NULL.
Si esta dirección es la misma que DestAccelerationStructureData, la actualización se realizará en contexto. Cualquier otra forma de superposición de la memoria de origen y destino no es válida y genera un comportamiento indefinido.
La dirección debe estar alineada con 256 bytes, definida como D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, que debería ser el caso automáticamente porque cualquier estructura de aceleración existente pasada aquí ya habría sido necesaria para colocarse con dicha alineación.
Importante
La memoria debe estar en estado D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
ScratchAccelerationStructureData
Ubicación donde la compilación almacenará los datos temporales. GetRaytracingAccelerationStructurePrebuildInfo informa de la cantidad de memoria temporal que la implementación necesitará para un conjunto determinado de parámetros de compilación de estructura de aceleración.
Importante
La memoria debe estar en estado D3D12_RESOURCE_STATE_UNORDERED_ACCESS.
ScratchAccelerationStructureData
Requisitos
Encabezado | d3d12.h |