feat(scripting): add managed srp base api

This commit is contained in:
2026-04-15 20:14:48 +08:00
parent cafe3c8076
commit 04ecac26d6
6 changed files with 75 additions and 3 deletions

View File

@@ -0,0 +1,15 @@
namespace XCEngine
{
public enum CameraFrameStage : byte
{
PreScenePasses = 0,
ShadowCaster = 1,
DepthOnly = 2,
MainScene = 3,
PostProcess = 4,
FinalOutput = 5,
ObjectId = 6,
PostScenePasses = 7,
OverlayPasses = 8
}
}

View File

@@ -20,10 +20,10 @@ namespace XCEngine
set
{
if (value != null &&
!typeof(RenderPipelineAsset).IsAssignableFrom(value))
!typeof(ScriptableRenderPipelineAsset).IsAssignableFrom(value))
{
throw new ArgumentException(
"GraphicsSettings.renderPipelineAssetType must derive from RenderPipelineAsset.",
"GraphicsSettings.renderPipelineAssetType must derive from ScriptableRenderPipelineAsset.",
nameof(value));
}

View File

@@ -0,0 +1,21 @@
namespace XCEngine
{
public abstract class ScriptableRenderPipeline : Object
{
protected ScriptableRenderPipeline()
{
}
protected internal virtual bool SupportsStageRenderGraph(
CameraFrameStage stage)
{
return false;
}
protected internal virtual bool RecordStageRenderGraph(
CameraFrameStage stage)
{
return false;
}
}
}

View File

@@ -0,0 +1,14 @@
namespace XCEngine
{
public abstract class ScriptableRenderPipelineAsset : RenderPipelineAsset
{
protected ScriptableRenderPipelineAsset()
{
}
protected internal virtual ScriptableRenderPipeline CreatePipeline()
{
return null;
}
}
}