feat(srp): bridge project-defined pipeline assets
This commit is contained in:
@@ -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()
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user