refactor(srp): move urp final color execution into managed feature
This commit is contained in:
@@ -472,6 +472,13 @@ namespace XCEngine
|
||||
string shaderPassName,
|
||||
ref Vector4 vectorPayload);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_ScriptableRenderContext_SetRasterPassFinalColorFullscreenExecution(
|
||||
ulong nativeHandle,
|
||||
ulong rasterPassHandle,
|
||||
ref Rendering.FinalColorSettings settings);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_ScriptableRenderContext_CommitRasterPass(
|
||||
@@ -515,6 +522,11 @@ namespace XCEngine
|
||||
ulong nativeHandle,
|
||||
int stage);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_ScriptableRenderPipelinePlanningContext_GetHasFinalColorProcessing(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern int
|
||||
Rendering_ScriptableRenderContext_GetStageColorSource(
|
||||
|
||||
@@ -65,5 +65,12 @@ namespace XCEngine.Rendering
|
||||
m_nativeHandle,
|
||||
(int)stage);
|
||||
}
|
||||
|
||||
public bool HasFinalColorProcessing()
|
||||
{
|
||||
return InternalCalls
|
||||
.Rendering_ScriptableRenderPipelinePlanningContext_GetHasFinalColorProcessing(
|
||||
m_nativeHandle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user