2026-04-19 02:38:48 +08:00
|
|
|
using XCEngine;
|
|
|
|
|
using XCEngine.Rendering;
|
|
|
|
|
|
2026-04-19 14:04:19 +08:00
|
|
|
namespace XCEngine.Rendering.Universal
|
2026-04-19 00:05:29 +08:00
|
|
|
{
|
2026-04-19 14:04:19 +08:00
|
|
|
public class UniversalRenderPipelineAsset
|
2026-04-19 15:33:03 +08:00
|
|
|
: ScriptableRenderPipelineAsset
|
2026-04-19 00:05:29 +08:00
|
|
|
{
|
2026-04-19 17:00:48 +08:00
|
|
|
public ScriptableRendererData rendererData =
|
2026-04-19 14:04:19 +08:00
|
|
|
new UniversalRendererData();
|
2026-04-19 00:05:29 +08:00
|
|
|
|
2026-04-19 15:33:03 +08:00
|
|
|
protected override ScriptableRenderPipeline CreatePipeline()
|
|
|
|
|
{
|
|
|
|
|
ScriptableRendererData resolvedRendererData =
|
|
|
|
|
ResolveRendererData();
|
|
|
|
|
return resolvedRendererData != null
|
|
|
|
|
? new UniversalRenderPipeline(resolvedRendererData)
|
|
|
|
|
: null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void ConfigureCameraRenderRequest(
|
|
|
|
|
CameraRenderRequestContext context)
|
|
|
|
|
{
|
|
|
|
|
ScriptableRendererData resolvedRendererData =
|
|
|
|
|
ResolveRendererData();
|
|
|
|
|
if (resolvedRendererData != null)
|
|
|
|
|
{
|
|
|
|
|
resolvedRendererData.ConfigureCameraRenderRequestInstance(
|
|
|
|
|
context);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-19 23:32:41 +08:00
|
|
|
protected override string GetPipelineRendererAssetKey()
|
|
|
|
|
{
|
|
|
|
|
return "BuiltinForward";
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-19 15:33:03 +08:00
|
|
|
private ScriptableRendererData ResolveRendererData()
|
2026-04-19 00:05:29 +08:00
|
|
|
{
|
|
|
|
|
if (rendererData == null)
|
|
|
|
|
{
|
2026-04-19 14:04:19 +08:00
|
|
|
rendererData = new UniversalRendererData();
|
2026-04-19 00:05:29 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return rendererData;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-04-19 02:38:48 +08:00
|
|
|
|