95 lines
2.6 KiB
C#
95 lines
2.6 KiB
C#
using System;
|
|
using XCEngine;
|
|
using XCEngine.Rendering;
|
|
|
|
namespace XCEngine.Rendering.Universal
|
|
{
|
|
public class UniversalRendererData : ScriptableRendererData
|
|
{
|
|
public UniversalMainSceneData mainScene;
|
|
public ShadowCasterBlockData shadowCaster;
|
|
public DepthPrepassBlockData depthPrepass;
|
|
public ScriptableRendererFeature[] rendererFeatures;
|
|
|
|
public UniversalRendererData()
|
|
{
|
|
mainScene = UniversalMainSceneData.CreateDefault();
|
|
shadowCaster = ShadowCasterBlockData.CreateDefault();
|
|
depthPrepass = DepthPrepassBlockData.CreateDefault();
|
|
rendererFeatures =
|
|
CreateDefaultRendererFeatures();
|
|
}
|
|
|
|
protected override ScriptableRenderer CreateRenderer()
|
|
{
|
|
return new UniversalRenderer(this);
|
|
}
|
|
|
|
protected override ScriptableRendererFeature[] CreateRendererFeatures()
|
|
{
|
|
return rendererFeatures ??
|
|
Array.Empty<ScriptableRendererFeature>();
|
|
}
|
|
|
|
private protected override string GetPipelineRendererAssetKey()
|
|
{
|
|
return "BuiltinForward";
|
|
}
|
|
|
|
private protected override string GetRenderSceneSetupPolicyAssetKey()
|
|
{
|
|
return "BuiltinDefaultSceneSetup";
|
|
}
|
|
|
|
private protected override string
|
|
GetDirectionalShadowExecutionPolicyAssetKey()
|
|
{
|
|
return "BuiltinDirectionalShadow";
|
|
}
|
|
|
|
internal UniversalMainSceneData GetMainSceneInstance()
|
|
{
|
|
if (mainScene == null)
|
|
{
|
|
mainScene =
|
|
UniversalMainSceneData.CreateDefault();
|
|
}
|
|
|
|
return mainScene;
|
|
}
|
|
|
|
internal ShadowCasterBlockData GetShadowCasterBlockInstance()
|
|
{
|
|
if (shadowCaster == null)
|
|
{
|
|
shadowCaster =
|
|
ShadowCasterBlockData.CreateDefault();
|
|
}
|
|
|
|
return shadowCaster;
|
|
}
|
|
|
|
internal DepthPrepassBlockData GetDepthPrepassBlockInstance()
|
|
{
|
|
if (depthPrepass == null)
|
|
{
|
|
depthPrepass =
|
|
DepthPrepassBlockData.CreateDefault();
|
|
}
|
|
|
|
return depthPrepass;
|
|
}
|
|
|
|
private static ScriptableRendererFeature[]
|
|
CreateDefaultRendererFeatures()
|
|
{
|
|
return new ScriptableRendererFeature[]
|
|
{
|
|
new BuiltinGaussianSplatRendererFeature(),
|
|
new BuiltinVolumetricRendererFeature()
|
|
};
|
|
}
|
|
}
|
|
}
|
|
|