структура D3D12DDI_HIT_GROUP_DESC_0054 (d3d12umddi.h)
Описывает группу попаданий.
Синтаксис
typedef struct D3D12DDI_HIT_GROUP_DESC_0054 {
LPCWSTR HitGroupExport;
D3D12DDI_HIT_GROUP_TYPE Type;
LPCWSTR AnyHitShaderImport;
LPCWSTR ClosestHitShaderImport;
LPCWSTR IntersectionShaderImport;
D3D12DDI_EXPORT_SUMMARY_FLAGS SummaryFlags;
} D3D12DDI_HIT_GROUP_DESC_0054;
Члены
HitGroupExport
Имя группы попаданий.
Type
Перечисление D3D12DDI_HIT_GROUP_TYPE, представляющее тип группы попаданий.
AnyHitShaderImport
Импорт любого шейдера попадания.
ClosestHitShaderImport
Ближайший импорт шейдера попадания.
IntersectionShaderImport
Импорт шейдера пересечения.
SummaryFlags
Флаг D3D12DDI_EXPORT_SUMMARY_FLAGS, указывающий свойства, которые среда выполнения определила о экспорте шейдера.
Замечания
Группа попаданий — это один или несколько шейдеров, состоящих из следующих элементов:
- Шейдер пересечения 0 или 1
- 0 или 1 любой шейдер попадания
- 0 или 1 ближайший шейдер хита
Отдельные геометрии в определенном экземпляре ссылаются на группу попаданий для предоставления кода шейдера. Точка группировки заключается в том, чтобы реализации могли компилировать и выполнять группу так эффективно, как лучи, взаимодействующие с геометрией
Шейдеры создания лучей и отсутствующие шейдеры не являются частью групп попаданий, так как они не участвуют непосредственно с геометрией.
Если группа попаданий содержит шейдер пересечения, его можно использовать только с процедурной примитивной геометрией. Если группа попаданий не содержит шейдер пересечения, его можно использовать только с геометрией треугольника.
Группа попаданий без шейдеров также возможна, просто используя NULL в качестве идентификатора шейдера.
Пустая группа попаданий может быть полезной, например, если приложение не хочет ничего делать для хитов и заботится только о пропущенном шейдере, запущенном, когда ничего не было удара.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1809 |
заголовка | d3d12umddi.h |