2025-05-01 01:48:08 -07:00

24 lines
891 B
C#

namespace UnityEngine.Rendering.UnifiedRayTracing
{
internal class HardwareRayTracingBackend : IRayTracingBackend
{
public HardwareRayTracingBackend(RayTracingResources resources)
{
m_Resources = resources;
}
public IRayTracingShader CreateRayTracingShader(Object shader, string kernelName, GraphicsBuffer dispatchBuffer)
{
Debug.Assert(shader is RayTracingShader);
return new HardwareRayTracingShader((RayTracingShader)shader, kernelName, dispatchBuffer);
}
public IRayTracingAccelStruct CreateAccelerationStructure(AccelerationStructureOptions options, ReferenceCounter counter)
{
return new HardwareRayTracingAccelStruct(options, m_Resources.hardwareRayTracingMaterial, counter, options.enableCompaction);
}
RayTracingResources m_Resources;
}
}