refactor(srp): move urp final color execution into managed feature

This commit is contained in:
2026-04-21 12:59:52 +08:00
parent 0063acadc9
commit 5bec70dcc5
12 changed files with 385 additions and 13 deletions

View File

@@ -8,7 +8,8 @@ namespace XCEngine.Rendering
{
None = 0,
ColorScaleFullscreen = 1,
ShaderVectorFullscreen = 2
ShaderVectorFullscreen = 2,
FinalColorFullscreen = 3
}
public sealed class RenderGraphRasterPassBuilder
@@ -23,6 +24,7 @@ namespace XCEngine.Rendering
private Vector4 m_vectorPayload;
private string m_shaderPath = string.Empty;
private string m_shaderPassName = string.Empty;
private FinalColorSettings m_finalColorSettings;
private RenderGraphRasterPassExecutionKind m_executionKind;
private bool m_finalized;
@@ -53,6 +55,19 @@ namespace XCEngine.Rendering
return this;
}
public RenderGraphRasterPassBuilder
SetFinalColorFullscreenExecution(
FinalColorSettings settings)
{
m_executionKind =
RenderGraphRasterPassExecutionKind
.FinalColorFullscreen;
m_finalColorSettings = settings;
m_shaderPath = string.Empty;
m_shaderPassName = string.Empty;
return this;
}
public RenderGraphRasterPassBuilder UseTexture(
RenderGraphTextureHandle texture)
{
@@ -212,6 +227,15 @@ namespace XCEngine.Rendering
m_shaderPassName,
ref m_vectorPayload);
break;
case RenderGraphRasterPassExecutionKind
.FinalColorFullscreen:
configuredExecution =
InternalCalls
.Rendering_ScriptableRenderContext_SetRasterPassFinalColorFullscreenExecution(
m_context.nativeHandle,
nativePassHandle,
ref m_finalColorSettings);
break;
default:
configuredExecution = false;
break;