refactor(rendering): genericize native fullscreen pass descriptors

replace camera-specific post-process descriptor naming with generic fullscreen pass types

route camera planning and managed SRP runtime through the same fullscreen pass seam
This commit is contained in:
2026-04-18 14:59:55 +08:00
parent c91e87f2e2
commit c4adbcd83e
10 changed files with 100 additions and 100 deletions

View File

@@ -13,7 +13,7 @@
#include "Rendering/Execution/CameraFramePlan.h"
#include "Rendering/Internal/RenderPipelineFactory.h"
#include "Rendering/Passes/BuiltinColorScalePostProcessPass.h"
#include "Rendering/Planning/CameraPostProcessDesc.h"
#include "Rendering/Planning/FullscreenPassDesc.h"
#include "Rendering/Pipelines/NativeSceneRecorder.h"
#include "Rendering/Pipelines/ManagedScriptableRenderPipelineAsset.h"
#include "Rendering/RenderPipelineStageGraphContract.h"
@@ -94,7 +94,7 @@ struct ManagedScriptableRenderContextState {
Rendering::CameraFrameStage stage = Rendering::CameraFrameStage::MainScene;
const Rendering::RenderPipelineStageRenderGraphContext* graphContext = nullptr;
Rendering::Pipelines::NativeSceneRecorder* sceneRecorder = nullptr;
std::vector<Rendering::CameraPostProcessPassDesc> queuedFullscreenPasses = {};
std::vector<Rendering::FullscreenPassDesc> queuedFullscreenPasses = {};
};
struct ManagedScriptableRenderPipelineCameraRequestContextState {
@@ -326,14 +326,14 @@ bool SupportsManagedRenderPipelineStageGraphRecording(
Rendering::RenderPass* ConfigureManagedFullscreenPass(
std::vector<std::unique_ptr<Rendering::RenderPass>>& passPool,
size_t passIndex,
const Rendering::CameraPostProcessPassDesc& passDesc) {
const Rendering::FullscreenPassDesc& passDesc) {
while (passPool.size() <= passIndex) {
passPool.push_back(nullptr);
}
std::unique_ptr<Rendering::RenderPass>& passSlot = passPool[passIndex];
switch (passDesc.type) {
case Rendering::CameraPostProcessPassType::ColorScale: {
case Rendering::FullscreenPassType::ColorScale: {
Rendering::Passes::BuiltinColorScalePostProcessPass* colorScalePass =
dynamic_cast<Rendering::Passes::BuiltinColorScalePostProcessPass*>(
passSlot.get());
@@ -2661,14 +2661,14 @@ InternalCall_Rendering_ScriptableRenderContext_RecordFullscreenPass(
return 0;
}
Rendering::CameraPostProcessPassDesc passDesc = {};
switch (static_cast<Rendering::CameraPostProcessPassType>(passType)) {
case Rendering::CameraPostProcessPassType::ColorScale:
Rendering::FullscreenPassDesc passDesc = {};
switch (static_cast<Rendering::FullscreenPassType>(passType)) {
case Rendering::FullscreenPassType::ColorScale:
if (vectorPayload == nullptr) {
return 0;
}
passDesc =
Rendering::CameraPostProcessPassDesc::MakeColorScale(*vectorPayload);
Rendering::FullscreenPassDesc::MakeColorScale(*vectorPayload);
break;
default:
return 0;