Files
XCEngine/managed/XCEngine.ScriptCore/ScriptableRenderPipelineAsset.cs

58 lines
1.7 KiB
C#
Raw Normal View History

namespace XCEngine
{
public abstract class ScriptableRenderPipelineAsset : RenderPipelineAsset
{
protected ScriptableRenderPipelineAsset()
{
}
protected internal virtual ScriptableRenderPipeline CreatePipeline()
{
ScriptableRendererData rendererData =
ResolveDefaultRendererData();
return rendererData != null
? new RendererDrivenRenderPipeline(rendererData)
: null;
}
protected internal virtual void ConfigureCameraRenderRequest(
ScriptableRenderPipelineCameraRequestContext context)
{
ScriptableRendererData rendererData =
ResolveDefaultRendererData();
if (rendererData != null)
{
rendererData.ConfigureCameraRenderRequestInstance(
context);
}
}
protected internal virtual void ConfigureCameraFramePlan(
ScriptableRenderPipelinePlanningContext context)
{
ScriptableRendererData rendererData =
ResolveDefaultRendererData();
if (rendererData != null)
{
rendererData.ConfigureCameraFramePlanInstance(
context);
}
}
protected internal virtual FinalColorSettings GetDefaultFinalColorSettings()
{
return FinalColorSettings.CreateDefault();
}
internal ScriptableRendererData ResolveDefaultRendererData()
{
return GetDefaultRendererData();
}
protected virtual ScriptableRendererData GetDefaultRendererData()
{
return null;
}
}
}