D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC 구조체(d3d12.h)
광선 추적 가속 구조를 설명합니다. 이 구조를 ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure에 전달하여 빌드할 가속 구조를 설명합니다.
구문
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;
멤버
DestAccelerationStructureData
결과 가속 구조를 저장할 위치입니다. ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo 는 가속 구조 빌드 매개 변수 집합이 제공된 경우 여기에서 결과에 필요한 메모리 양을 보고합니다.
주소는 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT 정의된 256바이트에 맞춰야 합니다.
중요
메모리는 상태 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 있어야 합니다.
Inputs
가속 구조 빌드에 대한 입력 데이터에 대한 설명입니다. 이 데이터는 GetRaytracingAccelerationStructurePrebuildInfo와 함께 사용되기 때문에 별도의 구조에 저장됩니다.
SourceAccelerationStructureData
Flags 매개 변수에서 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE 설정하여 가속 구조 업데이트(증분 빌드)가 요청되는 경우 기존 가속 구조의 주소입니다. 그렇지 않으면 이 주소는 NULL이어야 합니다.
이 주소가 DestAccelerationStructureData와 동일한 경우 업데이트를 현재 위치에서 수행합니다. 원본 및 대상 메모리의 다른 형식이 겹치는 것은 잘못되었으며 정의되지 않은 동작을 생성합니다.
주소는 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT 정의된 256바이트에 맞춰야 합니다. 이 경우 여기에 전달된 기존 가속 구조가 이미 이러한 맞춤으로 배치되어야 했기 때문에 자동으로 적용됩니다.
중요
메모리는 상태 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 있어야 합니다.
ScratchAccelerationStructureData
빌드에서 임시 데이터를 저장할 위치입니다. GetRaytracingAccelerationStructurePrebuildInfo 는 구현이 지정된 가속 구조 빌드 매개 변수 집합에 필요한 스크래치 메모리의 양을 보고합니다.
중요
메모리는 D3D12_RESOURCE_STATE_UNORDERED_ACCESS 상태여야 합니다.
ScratchAccelerationStructureData
요구 사항
머리글 | d3d12.h |