Move scene viewport post effects into editor passes

This commit is contained in:
2026-04-03 14:26:36 +08:00
parent b882610bbc
commit 9edf378085
8 changed files with 314 additions and 15 deletions

View File

@@ -135,6 +135,15 @@ inline Rendering::Passes::InfiniteGridPassData BuildSceneViewportGridPassData(
return data;
}
inline Rendering::Passes::ObjectIdOutlineStyle BuildSceneViewportSelectionOutlineStyle(
bool debugSelectionMask = false) {
Rendering::Passes::ObjectIdOutlineStyle style = {};
style.outlineColor = Math::Color(1.0f, 0.4f, 0.0f, 1.0f);
style.outlineWidthPixels = 2.0f;
style.debugSelectionMask = debugSelectionMask;
return style;
}
inline SceneViewportBuiltinPostProcessBuildResult BuildSceneViewportBuiltinPostProcess(
const SceneViewportOverlayData& overlay,
const std::vector<uint64_t>& selectedObjectIds,
@@ -147,10 +156,7 @@ inline SceneViewportBuiltinPostProcessBuildResult BuildSceneViewportBuiltinPostP
result.request.gridPassData = BuildSceneViewportGridPassData(overlay);
result.request.selectedObjectIds = selectedObjectIds;
result.request.outlineStyle = {};
result.request.outlineStyle.outlineColor = Math::Color(1.0f, 0.4f, 0.0f, 1.0f);
result.request.outlineStyle.outlineWidthPixels = 2.0f;
result.request.outlineStyle.debugSelectionMask = debugSelectionMask;
result.request.outlineStyle = BuildSceneViewportSelectionOutlineStyle(debugSelectionMask);
if (!selectedObjectIds.empty() &&
!debugSelectionMask &&