структура D3D12_DISPATCH_RAYS_DESC (d3d12.h)
Описывает свойства операции отправки лучей, инициированной вызовом ID3D12GraphicsCommandList4::D ispatchRays.
Синтаксис
typedef struct D3D12_DISPATCH_RAYS_DESC {
D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord;
D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
UINT Width;
UINT Height;
UINT Depth;
} D3D12_DISPATCH_RAYS_DESC;
Члены
RayGenerationShaderRecord
Запись шейдера для используемого шейдера создания лучей.
Указанная память должна находиться в состоянии D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.
Адрес должен быть выровнен по 64 байтам, определенным как D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT, и в диапазоне [0...4096] байт.
MissShaderTable
Таблица шейдеров для шейдеров пропусков.
Шаг является шагом записи и должен быть выровнен по 32 байтам, определенным как D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT, и в диапазоне [0...4096] байтов. Допускается значение 0.
Указанная память должна находиться в состоянии D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.
Адрес должен быть выровнен по 64 байтам, определенным как D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT.
HitGroupTable
Таблица шейдеров для групп попаданий.
Шаг является шагом записи и должен быть выровнен по 32 байтам, определенным как D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT, и в диапазоне [0...4096] байтов. Допускается значение 0.
Указанная память должна находиться в состоянии D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.
Адрес должен быть выровнен по 64 байтам, определенным как D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT.
CallableShaderTable
Таблица шейдеров для вызываемых шейдеров.
Шаг является шагом записи и должен быть выровнен по 32 байтам, определенным как D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT. Допускается значение 0.
Указанная память должна находиться в состоянии D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.
Адрес должен быть выровнен по 64 байтам, определенным как D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT.
Width
Ширина сетки потока создания шейдера.
Height
Высота сетки потока шейдера поколения.
Depth
Глубина сетки потока создания шейдера.
Требования
Требование | Значение |
---|---|
Заголовок | d3d12.h |