Refactor about detecting the RenderPipeline

This commit is contained in:
Masataka SUMI 2024-07-29 21:59:14 +09:00
parent 3cf956fa2b
commit f5d40b4d85
8 changed files with 24 additions and 16 deletions

View File

@ -0,0 +1,16 @@
namespace UniGLTF
{
public static class MaterialDescriptorGeneratorUtility
{
public static IMaterialDescriptorGenerator GetValidGltfMaterialDescriptorGenerator()
{
return RenderPipelineUtility.GetRenderPipelineType() switch
{
RenderPipelineTypes.UniversalRenderPipeline => new UrpGltfMaterialDescriptorGenerator(),
RenderPipelineTypes.BuiltinRenderPipeline => new BuiltInGltfMaterialDescriptorGenerator(),
_ => new BuiltInGltfMaterialDescriptorGenerator(),
};
}
}
}

View File

@ -1,8 +1,8 @@
using UnityEngine.Rendering;
using UnityEngine.Rendering;
namespace UniGLTF
{
public static class MaterialDescriptorGeneratorUtility
public static class RenderPipelineUtility
{
public static RenderPipelineTypes GetRenderPipelineType()
{
@ -25,16 +25,5 @@ namespace UniGLTF
return RenderPipelineTypes.Unknown;
}
public static IMaterialDescriptorGenerator GetValidGltfMaterialDescriptorGenerator()
{
return GetRenderPipelineType() switch
{
RenderPipelineTypes.UniversalRenderPipeline => new UrpGltfMaterialDescriptorGenerator(),
RenderPipelineTypes.BuiltinRenderPipeline => new BuiltInGltfMaterialDescriptorGenerator(),
_ => new BuiltInGltfMaterialDescriptorGenerator(),
};
}
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0fd29db9c49145cd9f56f92e6153c8db
timeCreated: 1722257774

View File

@ -6,7 +6,7 @@ namespace VRM
{
public static IMaterialDescriptorGenerator GetValidVrmMaterialDescriptorGenerator(glTF_VRM_extensions vrm)
{
return MaterialDescriptorGeneratorUtility.GetRenderPipelineType() switch
return RenderPipelineUtility.GetRenderPipelineType() switch
{
RenderPipelineTypes.UniversalRenderPipeline => new UrpVrmMaterialDescriptorGenerator(vrm),
RenderPipelineTypes.BuiltinRenderPipeline => new BuiltInVrmMaterialDescriptorGenerator(vrm),

View File

@ -6,7 +6,7 @@ namespace UniVRM10
{
public static IMaterialDescriptorGenerator GetValidVrm10MaterialDescriptorGenerator()
{
return MaterialDescriptorGeneratorUtility.GetRenderPipelineType() switch
return RenderPipelineUtility.GetRenderPipelineType() switch
{
RenderPipelineTypes.UniversalRenderPipeline => new UrpVrm10MaterialDescriptorGenerator(),
RenderPipelineTypes.BuiltinRenderPipeline => new BuiltInVrm10MaterialDescriptorGenerator(),