語法
成員
Transform3x4類型:D3D12_GPU_VIRTUAL_ADDRESS 以列優先配置的 3x4 仿射轉換矩陣位址,會在加速結構建置期間套用至 VertexBuffer 中的頂點。VertexBuffer 的內容不會被修改。如果使用 2D 頂點格式,則套用轉換時會假設第三個頂點元件為零。 如果 Transform3x4 為 NULL,則不會轉換頂點。使用 Transform3x4 可能會增加加速結構建置的計算量和/或記憶體需求。 所指向的記憶體必須處於 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 狀態。位址必須對齊 16 個位元組,定義為 D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT。 IndexFormat
類型:DXGI_FORMAT IndexBuffer 中索引的格式。必須是下列其中一項:
- DXGI_FORMAT_UNKNOWN - 當 IndexBuffer 為 NULL 時
- DXGI_FORMAT_R32_UINT
- DXGI_FORMAT_R16_UINT
類型:DXGI_FORMAT VertexBuffer 中頂點的格式。必須是下列其中一項:
- DXGI_FORMAT_R32G32_FLOAT - 第三個元件假設為 0
- DXGI_FORMAT_R32G32B32_FLOAT
- DXGI_FORMAT_R16G16_FLOAT - 第三個元件假設為 0
- DXGI_FORMAT_R16G16B16A16_FLOAT - 會忽略 A16 元件,可在此封裝其他資料,例如將頂點間距設定為 6 個位元組。
- DXGI_FORMAT_R16G16_SNORM - 第三個元件假設為 0
- DXGI_FORMAT_R16G16B16A16_SNORM - 會忽略 A16 元件,可在此封裝其他資料,例如將頂點間距設定為 6 個位元組。
- DXGI_FORMAT_R16G16B16A16_UNORM - 會忽略 A16 元件,可在此封裝其他資料,例如將頂點間距設定為 6 個位元組
- DXGI_FORMAT_R16G16_UNORM - 第三個元件假設為 0
- DXGI_FORMAT_R10G10B10A2_UNORM - 會忽略 A2 元件,間距必須為 4 個位元組
- DXGI_FORMAT_R8G8B8A8_UNORM - 會忽略 A8 元件,可在此封裝其他資料,例如將頂點間距設定為 3 個位元組
- DXGI_FORMAT_R8G8_UNORM - 第三個元件假設為 0
- DXGI_FORMAT_R8G8B8A8_SNORM - 會忽略 A8 元件,可在此封裝其他資料,例如將頂點間距設定為 3 個位元組
- DXGI_FORMAT_R8G8_SNORM - 第三個元件假設為 0
類型:UINT IndexBuffer 中的索引數目。如果 IndexBuffer 為 NULL,則必須為 0。 VertexCount
類型:UINT VertexBuffer 中的頂點數目。 IndexBuffer
類型:D3D12_GPU_VIRTUAL_ADDRESS 頂點索引的陣列。如果為 NULL,三角形就不會編製索引。與圖形一樣,位址必須對齊 IndexFormat 的大小。 所指向的記憶體必須處於 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 狀態。請注意,如果應用程式想要在圖形輸入組合器與光線追蹤加速結構建置輸入之間共用索引緩衝區輸入,一律可以將資源同時置於多個讀取狀態的組合中,例如 D3D12_RESOURCE_STATE_INDEX_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE。 VertexBuffer
類型:D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE 包含間距的頂點陣列。位址和間距的對齊必須是元件大小的倍數,因此對於具有 32 位元元件的格式為 4 個位元組,對於具有 16 位元元件的格式為 2 個位元組。與圖形不同,間距沒有限制,只是僅會使用該值的低 32 位元;此欄位為 UINT64 純粹是為了讓相鄰欄位在各處都能整齊明確地對齊。每個頂點位置預期位於間距範圍的起始位址,任何多餘空間都會被加速結構建置忽略。此多餘空間可能包含其他應用程式資料,例如頂點屬性,無論是交錯放在頂點緩衝區中還是其他地方,應用程式都必須負責在著色器中手動擷取這些資料。 所指向的記憶體必須處於 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 狀態。請注意,如果應用程式想要在圖形輸入組合器與光線追蹤加速結構建置輸入之間共用頂點緩衝區輸入,一律可以將資源同時置於多個讀取狀態的組合中,例如 D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
需求
標頭: d3d12_xs.h程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機
