Files
XCEngine/managed/XCEngine.RenderPipelines.Universal/Rendering/Universal/UniversalRendererData.cs
ssdfasd e2b2df4c8f refactor(srp): move shadow caster stage selection into managed urp
- add standalone pass asset factories for camera frame stages\n- let managed pipeline assets declare stage pass asset keys\n- make universal renderer data explicitly own the builtin shadow caster stage
2026-04-21 02:38:56 +08:00

72 lines
1.9 KiB
C#

using System;
using XCEngine;
using XCEngine.Rendering;
namespace XCEngine.Rendering.Universal
{
public class UniversalRendererData : ScriptableRendererData
{
public UniversalMainSceneData mainScene;
public ScriptableRendererFeature[] rendererFeatures;
public UniversalRendererData()
{
mainScene = UniversalMainSceneData.CreateDefault();
rendererFeatures =
CreateDefaultRendererFeatures();
}
protected override ScriptableRenderer CreateRenderer()
{
return new UniversalRenderer(this);
}
protected override ScriptableRendererFeature[] CreateRendererFeatures()
{
return rendererFeatures ??
Array.Empty<ScriptableRendererFeature>();
}
protected override string GetPipelineRendererAssetKey()
{
return "BuiltinForward";
}
protected override string GetCameraFrameStandalonePassAssetKey(
CameraFrameStage stage)
{
switch (stage)
{
case CameraFrameStage.ShadowCaster:
return "BuiltinShadowCaster";
default:
return base
.GetCameraFrameStandalonePassAssetKey(
stage);
}
}
internal UniversalMainSceneData GetMainSceneInstance()
{
if (mainScene == null)
{
mainScene =
UniversalMainSceneData.CreateDefault();
}
return mainScene;
}
private static ScriptableRendererFeature[]
CreateDefaultRendererFeatures()
{
return new ScriptableRendererFeature[]
{
new BuiltinGaussianSplatRendererFeature(),
new BuiltinVolumetricRendererFeature()
};
}
}
}