refactor(srp): move urp final color execution into managed feature
This commit is contained in:
@@ -8,6 +8,8 @@ namespace XCEngine.Rendering.Universal
|
||||
{
|
||||
private const string kColorScaleFullscreenPassName =
|
||||
"Universal.ColorScaleFullscreen";
|
||||
private const string kFinalColorFullscreenPassName =
|
||||
"Universal.FinalColorFullscreen";
|
||||
private const string kShaderVectorFullscreenPassName =
|
||||
"Universal.ShaderVectorFullscreen";
|
||||
|
||||
@@ -156,6 +158,54 @@ namespace XCEngine.Rendering.Universal
|
||||
.Commit();
|
||||
}
|
||||
|
||||
protected bool RecordFinalColorFullscreenPass(
|
||||
ScriptableRenderContext context,
|
||||
FinalColorSettings settings,
|
||||
string passName = null)
|
||||
{
|
||||
RenderGraphTextureHandle sourceColor;
|
||||
RenderGraphTextureHandle outputColor;
|
||||
return TryResolveDefaultFullscreenTargets(
|
||||
context,
|
||||
out sourceColor,
|
||||
out outputColor) &&
|
||||
RecordFinalColorFullscreenPass(
|
||||
context,
|
||||
sourceColor,
|
||||
outputColor,
|
||||
settings,
|
||||
passName);
|
||||
}
|
||||
|
||||
protected bool RecordFinalColorFullscreenPass(
|
||||
ScriptableRenderContext context,
|
||||
RenderGraphTextureHandle sourceColor,
|
||||
RenderGraphTextureHandle outputColor,
|
||||
FinalColorSettings settings,
|
||||
string passName = null)
|
||||
{
|
||||
if (context == null ||
|
||||
!outputColor.isValid)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
RenderGraphRasterPassBuilder passBuilder =
|
||||
context.AddRasterPass(
|
||||
ResolveFullscreenPassName(
|
||||
passName,
|
||||
kFinalColorFullscreenPassName));
|
||||
if (sourceColor.isValid)
|
||||
{
|
||||
passBuilder.UseColorSource(sourceColor);
|
||||
}
|
||||
|
||||
return passBuilder
|
||||
.SetColorAttachment(outputColor)
|
||||
.SetFinalColorFullscreenExecution(settings)
|
||||
.Commit();
|
||||
}
|
||||
|
||||
internal static bool TryResolveStage(
|
||||
RenderPassEvent passEvent,
|
||||
out CameraFrameStage stage)
|
||||
|
||||
Reference in New Issue
Block a user