Bagikan melalui


struktur D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC (d3d12.h)

Menjelaskan struktur akselerasi raytracing. Teruskan struktur ini ke ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure untuk menjelaskan struktur akselerasi yang akan dibangun.

Sintaks

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;

Anggota

DestAccelerationStructureData

Lokasi untuk menyimpan struktur akselerasi yang dihasilkan. ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo melaporkan jumlah memori yang diperlukan untuk hasil di sini mengingat serangkaian parameter build struktur akselerasi.

Alamat harus diratakan ke 256 byte, didefinisikan sebagai D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT.

Inputs

Deskripsi data input untuk build struktur akselerasi. Ini adalah data yang disimpan dalam struktur terpisah karena juga digunakan dengan GetRaytracingAccelerationStructurePrebuildInfo.

SourceAccelerationStructureData

Alamat struktur akselerasi yang ada jika pembaruan struktur akselerasi (build bertambah bertahap) diminta, dengan mengatur D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE dalam parameter Bendera. Jika tidak, alamat ini harus NULL.

Jika alamat ini sama dengan DestAccelerationStructureData, pembaruan akan dilakukan di tempat. Bentuk tumpang tindih lain dari memori sumber dan tujuan tidak valid dan menghasilkan perilaku yang tidak terdefinisi.

Alamat harus diselaraskan dengan 256 byte, didefinisikan sebagai D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, yang seharusnya secara otomatis terjadi karena struktur akselerasi yang ada yang diteruskan di sini akan sudah diperlukan untuk ditempatkan dengan perataan tersebut.

ScratchAccelerationStructureData

Lokasi tempat build akan menyimpan data sementara. GetRaytracingAccelerationStructurePrebuildInfo melaporkan jumlah memori awal yang diperlukan implementasi untuk serangkaian parameter build struktur akselerasi tertentu.

Penting

Memori harus dalam status D3D12_RESOURCE_STATE_UNORDERED_ACCESS.

ScratchAccelerationStructureData

Persyaratan

   
Header d3d12.h