Net-Game/Library/PackageCache/com.unity.rendering.light-transport@307bc27a498f/Runtime/UnifiedRayTracing/Common/Utilities/BackendHelpers.cs
2025-03-28 08:33:16 -04:00

30 lines
988 B
C#

using System;
namespace UnityEngine.Rendering.UnifiedRayTracing
{
internal static class BackendHelpers
{
internal static string GetFileNameOfShader(RayTracingBackend backend, string fileName)
{
string postFix = backend switch
{
RayTracingBackend.Hardware => "raytrace",
RayTracingBackend.Compute => "compute",
_ => throw new ArgumentOutOfRangeException(nameof(backend), backend, null)
};
return $"{fileName}.{postFix}";
}
internal static Type GetTypeOfShader(RayTracingBackend backend)
{
Type shaderType = backend switch
{
RayTracingBackend.Hardware => typeof(RayTracingShader),
RayTracingBackend.Compute => typeof(ComputeShader),
_ => throw new ArgumentOutOfRangeException(nameof(backend), backend, null)
};
return shaderType;
}
}
}