語法
成員
Transform類型:FLOAT[3][4] 以列優先配置的 3x4 轉換矩陣,代表執行個體到世界的轉換。實作會轉換光線,而不是轉換所有幾何或 AABB。
Transform 的配置是仿射矩陣在記憶體中一般儲存方式的轉置。Transform 不是配置為四個 3 維向量,而是配置為三個 4 維向量。類型:UINT 任意的 24 位元值,可在支援的著色器類型中使用
InstanceID 內建函式存取。
InstanceMask類型:UINT 指派給執行個體的 8 位元遮罩,可用來依每條光線包含/拒絕執行個體群組。如果值為零,則永遠不會包含該執行個體,因此通常應將其設定為某個非零值。如需詳細資訊,請參閱 TraceRay 函式的
InstanceInclusionMask 參數。
InstanceContributionToHitGroupIndex類型:UINT 任意的 24 位元值,代表要加入著色器表格索引中的每個執行個體貢獻值,以選取要使用的命中群組。 Flags
類型:UINT 8 位元遮罩,代表要套用至執行個體的 D3D12_RAYTRACING_INSTANCE_FLAGS 旗標。 AccelerationStructure
類型:D3D12_GPU_VIRTUAL_ADDRESS 要建立執行個體的底層加速結構位址。位址必須對齊 256 個位元組,定義為 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT。在此傳入的任何現有加速結構,原本就必須以此對齊方式放置。 所指向的記憶體必須處於 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 狀態。
備註
如果您先在 CPU 上產生執行個體資料,再上傳至 GPU,此 C++ 結構定義會很有用。不過,您的應用程式也可以依照相同的配置,直接在 GPU 記憶體中產生執行個體描述 (例如從計算著色器)。需求
標頭: d3d12_xs.h程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機
