refactor: generalize renderer builtin post process
This commit is contained in:
@@ -114,21 +114,21 @@ inline ViewportRenderFallbackPolicy BuildGameViewportRenderFailurePolicy(
|
||||
|
||||
inline void ApplySceneViewportRenderRequestSetup(
|
||||
const ViewportRenderTargets& targets,
|
||||
const Rendering::BuiltinSceneViewPostProcessRequest* builtinSceneViewPostProcess,
|
||||
const Rendering::BuiltinPostProcessRequest* builtinPostProcess,
|
||||
Rendering::RenderPassSequence* postPasses,
|
||||
Rendering::CameraRenderRequest& request) {
|
||||
request.postScenePasses = nullptr;
|
||||
request.objectId = {};
|
||||
request.builtinSceneViewPostProcess = {};
|
||||
request.builtinPostProcess = {};
|
||||
|
||||
if (postPasses != nullptr && postPasses->GetPassCount() > 0) {
|
||||
request.postScenePasses = postPasses;
|
||||
}
|
||||
|
||||
if (builtinSceneViewPostProcess != nullptr &&
|
||||
builtinSceneViewPostProcess->IsRequested()) {
|
||||
request.builtinSceneViewPostProcess = *builtinSceneViewPostProcess;
|
||||
request.builtinSceneViewPostProcess.objectIdTextureView = targets.objectIdShaderView;
|
||||
if (builtinPostProcess != nullptr &&
|
||||
builtinPostProcess->IsRequested()) {
|
||||
request.builtinPostProcess = *builtinPostProcess;
|
||||
request.builtinPostProcess.objectIdTextureView = targets.objectIdShaderView;
|
||||
}
|
||||
|
||||
if (targets.objectIdView == nullptr) {
|
||||
|
||||
@@ -278,7 +278,7 @@ private:
|
||||
|
||||
struct SceneViewportRenderState {
|
||||
SceneViewportOverlayData overlay = {};
|
||||
Rendering::BuiltinSceneViewPostProcessRequest builtinSceneViewPostProcess = {};
|
||||
Rendering::BuiltinPostProcessRequest builtinPostProcess = {};
|
||||
std::vector<uint64_t> selectedObjectIds;
|
||||
};
|
||||
|
||||
@@ -414,7 +414,7 @@ private:
|
||||
ViewportEntry& entry,
|
||||
const SceneViewportOverlayData& overlay,
|
||||
const std::vector<uint64_t>& selectedObjectIds,
|
||||
Rendering::BuiltinSceneViewPostProcessRequest& outRequest) {
|
||||
Rendering::BuiltinPostProcessRequest& outRequest) {
|
||||
if (!overlay.valid) {
|
||||
outRequest = {};
|
||||
return;
|
||||
@@ -450,7 +450,7 @@ private:
|
||||
entry,
|
||||
outState.overlay,
|
||||
outState.selectedObjectIds,
|
||||
outState.builtinSceneViewPostProcess);
|
||||
outState.builtinPostProcess);
|
||||
}
|
||||
|
||||
bool RenderSceneViewportEntry(
|
||||
@@ -495,7 +495,7 @@ private:
|
||||
|
||||
ApplySceneViewportRenderRequestSetup(
|
||||
entry.renderTargets,
|
||||
&sceneState.builtinSceneViewPostProcess,
|
||||
&sceneState.builtinPostProcess,
|
||||
nullptr,
|
||||
requests[0]);
|
||||
requests[0].hasClearColorOverride = true;
|
||||
|
||||
Reference in New Issue
Block a user