struktur D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS (d3d12.h)
Mendefinisikan input untuk operasi build struktur akselerasi raytracing. Struktur ini digunakan oleh ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure dan ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo.
Sintaks
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
UINT NumDescs;
D3D12_ELEMENTS_LAYOUT DescsLayout;
union {
D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs;
const D3D12_RAYTRACING_GEOMETRY_DESC const * * ppGeometryDescs;
};
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS;
Anggota
Type
Jenis struktur akselerasi yang akan dibangun.
Flags
Bendera build.
NumDescs
Jika JenisD3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, nilai ini adalah jumlah instans, yang ditata berdasarkan DescsLayout.
Jika JenisD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, nilai ini adalah jumlah elemen yang disebut oleh pGeometryDescs atau ppGeometryDescs. Bidang mana yang digunakan tergantung pada DescsLayout.
DescsLayout
Bagaimana deskripsi geometri ditentukan; baik array deskripsi atau array pointer ke deskripsi.
InstanceDescs
Jika JenisD3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, ini mengacu pada struktur numDescsD3D12_RAYTRACING_INSTANCE_DESC dalam memori GPU yang menjelaskan instans. Setiap instans harus diselaraskan ke 16 byte, yang didefinisikan sebagai D3D12_RAYTRACING_INSTANCE_DESC_BYTE_ALIGNMENT.
Jika Jenis tidak D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, parameter ini tidak digunakan.
Jika DescLayoutD3D12_ELEMENTS_LAYOUT_ARRAY, InstanceDescs menunjuk ke array deskripsi instans dalam memori GPU.
Jika DescLayoutD3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS, InstanceDescs menunjuk ke array dalam memori GPU D3D12_GPU_VIRTUAL_ADDRESS pointer ke deskripsi instans.
Memori yang ditujukan harus dalam status D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.
pGeometryDescs
Jika JenisD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, dan DescsLayoutD3D12_ELEMENTS_LAYOUT_ARRAY, bidang ini digunakan dan menunjuk ke struktur D3D12_RAYTRACING_GEOMETRY_DESCnumDescs yang berdekatan pada CPU, yang menjelaskan geometri individual.
Jika Jenis tidak D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL atau DescsLayout tidak D3D12_ELEMENTS_LAYOUT_ARRAY, parameter ini tidak digunakan.
ppGeometryDescs
Jika JenisD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, dan DescsLayoutD3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS, bidang ini digunakan dan menunjuk ke array pointer NumDescs untuk D3D12_RAYTRACING_GEOMETRY_DESC struktur pada CPU, yang menjelaskan geometri individual.
Keterangan
Ketika digunakan dengan GetRaytracingAccelerationStructurePrebuildInfo, yang benar-benar melakukan build, parameter apa pun yang direferensikan melalui D3D12_GPU_VIRTUAL_ADDRESS (alamat dalam memori GPU), seperti InstanceDescs, tidak akan diakses oleh operasi. Jadi memori ini belum perlu diinisialisasi atau berada dalam status sumber daya tertentu. Apakah alamat GPU null atau tidak dapat diperiksa oleh operasi, meskipun pointer tidak didereferensikan.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d12.h |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk