Remove scene viewport postprocess API from engine

This commit is contained in:
2026-04-03 15:26:17 +08:00
parent 7cc4aa3b45
commit e8f64407ba
13 changed files with 20 additions and 831 deletions

View File

@@ -115,11 +115,6 @@ inline ViewportRenderFallbackPolicy BuildGameViewportRenderFailurePolicy(
return policy;
}
struct SceneViewportBuiltinPostProcessBuildResult {
Rendering::BuiltinPostProcessRequest request = {};
const char* warningStatusText = nullptr;
};
inline Rendering::Passes::InfiniteGridPassData BuildSceneViewportGridPassData(
const SceneViewportOverlayData& overlay) {
Rendering::Passes::InfiniteGridPassData data = {};
@@ -144,50 +139,19 @@ inline Rendering::Passes::ObjectIdOutlineStyle BuildSceneViewportSelectionOutlin
return style;
}
inline SceneViewportBuiltinPostProcessBuildResult BuildSceneViewportBuiltinPostProcess(
const SceneViewportOverlayData& overlay,
const std::vector<uint64_t>& selectedObjectIds,
bool hasObjectIdShaderView,
bool debugSelectionMask = false) {
SceneViewportBuiltinPostProcessBuildResult result = {};
if (!overlay.valid) {
return result;
}
result.request.gridPassData = BuildSceneViewportGridPassData(overlay);
result.request.selectedObjectIds = selectedObjectIds;
result.request.outlineStyle = BuildSceneViewportSelectionOutlineStyle(debugSelectionMask);
if (!selectedObjectIds.empty() &&
!debugSelectionMask &&
!hasObjectIdShaderView) {
result.warningStatusText = "Scene object id shader view is unavailable";
}
return result;
}
inline void ApplySceneViewportRenderRequestSetup(
const ViewportRenderTargets& targets,
const Rendering::BuiltinPostProcessRequest* builtinPostProcess,
Rendering::RenderPassSequence* postPasses,
Rendering::CameraRenderRequest& request) {
request.preScenePasses = nullptr;
request.postScenePasses = nullptr;
request.overlayPasses = nullptr;
request.objectId = {};
request.builtinPostProcess = {};
if (postPasses != nullptr && postPasses->GetPassCount() > 0) {
request.postScenePasses = postPasses;
}
if (builtinPostProcess != nullptr &&
builtinPostProcess->IsRequested()) {
request.builtinPostProcess = *builtinPostProcess;
request.builtinPostProcess.objectIdTextureView = targets.objectIdShaderView;
}
if (targets.objectIdView == nullptr) {
return;
}