Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указывает флаги построения структуры ускорения трассировки лучей.
Синтаксис
typedef enum D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_UPDATE_0110,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DISABLE_OMMS_0110,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DATA_ACCESS_0110
} ;
Константы
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONEНет параметров, указанных для сборки структуры ускорения. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATEСоздайте структуру ускорения, чтобы она поддерживала будущие обновления с помощью флага D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE вместо того, чтобы приложение было полностью перестроено. Этот параметр может привести к увеличению потребления памяти и времени сборки, а также снижению производительности трассировки лучей. Однако будущие обновления должны быть быстрее, чем создавать эквивалентную структуру ускорения с нуля. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTIONПозволяет сжимать структуру ускорения путем вызова CopyRaytracingAccelerationStructure с компактным режимом. См. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE. Этот параметр может привести к увеличению потребления памяти и времени сборки. Однако после дальнейшего сжатия результирующая структура ускорения должна использовать меньший объем памяти, не превышающий построение структуры ускорения с нуля. Этот флаг совместим со всеми другими флагами. Если она указана в рамках обновления структуры ускорения, структура исходного ускорения должна также быть создана с этим флагом. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACEСоздайте высококачественную структуру ускорения, которая повышает производительность трассировки лучей за счет дополнительного времени сборки. Грубое правило большого пальца заключается в том, что реализация должна занять около 2–3 раз времени сборки по умолчанию, чтобы повысить производительность трассировки. Этот флаг рекомендуется в частности для статической геометрии. Он также совместим со всеми другими флагами, кроме D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILDСоздайте структуру ускорения более низкого качества, производительность трассировки луча для скорости сборки. Грубое правило большого пальца заключается в том, что реализация должна занять около 1/2 до 1/3 времени сборки по умолчанию при жертве в производительности трассировки. Этот флаг совместим со всеми остальными флагами, кроме D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORYСведите к минимуму объем памяти, используемой во время сборки структуры ускорения, а также размер результата. Этот параметр может привести к увеличению времени сборки и (или) времени трассировки лучей. Это ортогональное значение флага D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION и явное сжатие структуры ускорения, которую он включает. Объединение флагов может означать как начальную структуру ускорения, так и результат сжатия, который использует меньше памяти. Влияние использования этого флага для сборки отражается в результате вызова GetRaytracingAccelerationStructurePrebuildInfo перед получением требований к памяти для сборки. Этот флаг совместим со всеми другими флагами. |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATEВыполните обновление структуры ускорения, а не создание с нуля. Это быстрее, чем полная сборка, но может отрицательно повлиять на производительность трассировки лучей, особенно если позиции базовых объектов значительно изменились с исходной сборки структуры ускорения до обновления. Если адреса исходных и целевых структур ускорения идентичны, обновление выполняется на месте. Любое другое перекрытие диапазонов адресов источника и назначения недопустимо. Для неперекрывающихся источников и назначений структура ускорения источника не изменена. Требование к памяти для структуры ускорения выходных данных совпадает со структурой ускорения ввода. Этот флаг совместим со всеми другими флагами. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE может быть задано или не может быть задано, это не имеет никакого значения, так как обновления по-прежнему будут разрешены. Другие флажки, помимо D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE и D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE, должны соответствовать флагам в структуре ускорения источника. Обновления структуры ускорения можно выполнять в неограниченном последовательности. Структура исходного ускорения должна быть создана с D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE, D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE или в противном случае клонирована, исходная структура ускорения должна была быть создана одним из этих способов. По сути, структура ускорения должна была быть создана с ожиданием, что обновления могут произойти. |
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 версии 1809 |
| заголовка | d3d12umddi.h |