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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user