Unity 6.3
0 онлайн 82 гостей 3 в системе
Вход

Shader.SetGlobalRayTracingAccelerationStructure

Declaration

public static void SetGlobalRayTracingAccelerationStructure(string name, Rendering.RayTracingAccelerationStructure value);
public static void SetGlobalRayTracingAccelerationStructure(int nameID, Rendering.RayTracingAccelerationStructure value);

Параметры

Параметр Описание
имя Имя структуры ускорения в коде шейдера.
nameID Имя ID структуры ускорения в коде шейдера. Используйте Shader.PropertyToID для получения этого значения.
значение Структура ускорения для установки.

Описание

Устанавливает глобальное свойство RayTracingAccelerationStructure для всех шейдеров.

Эта команда привязывает объект RayTracingAccelerationStructure ко всем стадиям шейдера. Вы можете использовать структуру ускорения для встроенного трассирования лучей (запросы лучей) или в качестве аргумента в вызовах TraceRay в шейдерах трассирования лучей. Объект RayTracingAccelerationStructure должен быть построен с помощью метода RayTracingAccelerationStructure.Build до вызова этой команды.

Запросы лучей могут быть использованы для выполнения тестов перемещения структуры ускорения и пересечения геометрии. Чтобы получить доступ к этой функции, код HLSL должен быть скомпилирован с помощью директивы #pragma require inlineraytracing или с помощью встроенного ключевого слова шейдера UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING (например, #pragma multi_compile _ UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING).

Дополнительные ресурсы: CommandBuffer.SetGlobalRayTracingAccelerationStructure, SystemInfo.supportsRayTracingShaders, SystemInfo.supportsInlineRayTracing.