test: close renderer phase boundary
This commit is contained in:
@@ -37,21 +37,6 @@ namespace {
|
||||
|
||||
constexpr bool kDebugSceneSelectionMask = false;
|
||||
|
||||
Rendering::Passes::InfiniteGridPassData BuildInfiniteGridPassData(
|
||||
const SceneViewportOverlayData& overlay) {
|
||||
Rendering::Passes::InfiniteGridPassData data = {};
|
||||
data.valid = overlay.valid;
|
||||
data.cameraPosition = overlay.cameraPosition;
|
||||
data.cameraForward = overlay.cameraForward;
|
||||
data.cameraRight = overlay.cameraRight;
|
||||
data.cameraUp = overlay.cameraUp;
|
||||
data.verticalFovDegrees = overlay.verticalFovDegrees;
|
||||
data.nearClipPlane = overlay.nearClipPlane;
|
||||
data.farClipPlane = overlay.farClipPlane;
|
||||
data.orbitDistance = overlay.orbitDistance;
|
||||
return data;
|
||||
}
|
||||
|
||||
Math::Vector3 GetSceneViewportOrientationAxisVector(SceneViewportOrientationAxis axis) {
|
||||
switch (axis) {
|
||||
case SceneViewportOrientationAxis::PositiveX:
|
||||
@@ -410,30 +395,6 @@ private:
|
||||
policy.clearColor.a);
|
||||
}
|
||||
|
||||
void BuildSceneViewBuiltinPostProcessRequest(
|
||||
ViewportEntry& entry,
|
||||
const SceneViewportOverlayData& overlay,
|
||||
const std::vector<uint64_t>& selectedObjectIds,
|
||||
Rendering::BuiltinPostProcessRequest& outRequest) {
|
||||
if (!overlay.valid) {
|
||||
outRequest = {};
|
||||
return;
|
||||
}
|
||||
|
||||
outRequest.gridPassData = BuildInfiniteGridPassData(overlay);
|
||||
outRequest.selectedObjectIds = selectedObjectIds;
|
||||
outRequest.outlineStyle = {};
|
||||
outRequest.outlineStyle.outlineColor = Math::Color(1.0f, 0.4f, 0.0f, 1.0f);
|
||||
outRequest.outlineStyle.outlineWidthPixels = 2.0f;
|
||||
outRequest.outlineStyle.debugSelectionMask = kDebugSceneSelectionMask;
|
||||
|
||||
if (!selectedObjectIds.empty() &&
|
||||
!kDebugSceneSelectionMask &&
|
||||
entry.renderTargets.objectIdShaderView == nullptr) {
|
||||
SetViewportStatusIfEmpty(entry.statusText, "Scene object id shader view is unavailable");
|
||||
}
|
||||
}
|
||||
|
||||
void BuildSceneViewportRenderState(
|
||||
ViewportEntry& entry,
|
||||
IEditorContext& context,
|
||||
@@ -446,11 +407,16 @@ private:
|
||||
}
|
||||
|
||||
outState.selectedObjectIds = context.GetSelectionManager().GetSelectedEntities();
|
||||
BuildSceneViewBuiltinPostProcessRequest(
|
||||
entry,
|
||||
const SceneViewportBuiltinPostProcessBuildResult builtinPostProcess =
|
||||
BuildSceneViewportBuiltinPostProcess(
|
||||
outState.overlay,
|
||||
outState.selectedObjectIds,
|
||||
outState.builtinPostProcess);
|
||||
entry.renderTargets.objectIdShaderView != nullptr,
|
||||
kDebugSceneSelectionMask);
|
||||
outState.builtinPostProcess = builtinPostProcess.request;
|
||||
if (builtinPostProcess.warningStatusText != nullptr) {
|
||||
SetViewportStatusIfEmpty(entry.statusText, builtinPostProcess.warningStatusText);
|
||||
}
|
||||
}
|
||||
|
||||
bool RenderSceneViewportEntry(
|
||||
|
||||
Reference in New Issue
Block a user