refactor(rendering): formalize native graph recording helpers
This commit is contained in:
@@ -10,22 +10,20 @@ namespace Rendering {
|
||||
|
||||
bool SceneRenderFeaturePass::RecordRenderGraph(
|
||||
const SceneRenderFeaturePassRenderGraphContext& context) {
|
||||
const bool usesSourceColor = context.sourceColorTexture.IsValid();
|
||||
const RenderGraphRecordingContext baseRecordingContext =
|
||||
BuildRenderGraphRecordingContext(context);
|
||||
const RenderSurface sourceSurfaceTemplate =
|
||||
baseRecordingContext.sourceSurface != nullptr
|
||||
? *baseRecordingContext.sourceSurface
|
||||
: (usesSourceColor ? context.surface : RenderSurface());
|
||||
RenderGraphRecordingContextOverrides overrides = {};
|
||||
overrides.overrideSourceSurface =
|
||||
baseRecordingContext.sourceSurface == nullptr && usesSourceColor;
|
||||
overrides.sourceSurface =
|
||||
overrides.overrideSourceSurface ? &sourceSurfaceTemplate : nullptr;
|
||||
const RenderGraphRecordingContext recordingContext =
|
||||
CloneRenderGraphRecordingContext(
|
||||
RenderSurface sourceSurfaceTemplate = {};
|
||||
RenderGraphRecordingContextBuildParams recordingParams = {};
|
||||
recordingParams.overrideSourceBinding = true;
|
||||
recordingParams.sourceBinding =
|
||||
ResolveRenderGraphRecordingSourceBinding(
|
||||
baseRecordingContext,
|
||||
overrides);
|
||||
&baseRecordingContext.surface,
|
||||
&sourceSurfaceTemplate);
|
||||
const RenderGraphRecordingContext recordingContext =
|
||||
BuildRenderGraphRecordingContext(
|
||||
baseRecordingContext,
|
||||
std::move(recordingParams));
|
||||
|
||||
const RenderPassGraphBeginCallback beginPassCallback =
|
||||
context.beginPassCallback
|
||||
|
||||
Reference in New Issue
Block a user