feat(srp): bridge project-defined pipeline assets

This commit is contained in:
2026-04-20 15:07:38 +08:00
parent 3f2c0fc9bd
commit 3bdd45b590
2 changed files with 166 additions and 0 deletions

View File

@@ -89,4 +89,69 @@ namespace ProjectScripts
};
}
}
public sealed class ProjectCustomOpaquePass
: ScriptableRenderPass
{
public ProjectCustomOpaquePass()
{
renderPassEvent =
RenderPassEvent.RenderOpaques;
}
protected override bool RecordRenderGraph(
ScriptableRenderContext context,
RenderingData renderingData)
{
return context != null &&
renderingData != null &&
renderingData.isMainSceneStage &&
RecordOpaqueScenePhase(context);
}
}
public sealed class ProjectCustomRenderer
: ScriptableRenderer
{
private readonly ProjectCustomOpaquePass m_opaquePass =
new ProjectCustomOpaquePass();
protected override void AddRenderPasses(
RenderingData renderingData)
{
if (renderingData == null ||
!renderingData.isMainSceneStage)
{
return;
}
EnqueuePass(m_opaquePass);
}
}
public sealed class ProjectCustomRendererData
: ScriptableRendererData
{
protected override ScriptableRenderer CreateRenderer()
{
return new ProjectCustomRenderer();
}
protected override string GetPipelineRendererAssetKey()
{
return "BuiltinForward";
}
}
public sealed class ProjectCustomRendererPipelineAsset
: RendererBackedRenderPipelineAsset
{
public ProjectCustomRendererPipelineAsset()
{
rendererDataList = new ScriptableRendererData[]
{
new ProjectCustomRendererData()
};
}
}
}