Files
XCEngine/editor/app/Rendering/Viewport/SceneViewportPassSpecs.h
2026-04-25 16:46:01 +08:00

37 lines
1.1 KiB
C++

#pragma once
#include <XCEngine/Core/Math/Color.h>
#include <XCEngine/Core/Math/Vector3.h>
namespace XCEngine::UI::Editor::App {
struct SceneViewportGridPassData {
bool valid = false;
::XCEngine::Math::Vector3 cameraPosition = ::XCEngine::Math::Vector3::Zero();
::XCEngine::Math::Vector3 cameraForward = ::XCEngine::Math::Vector3::Forward();
::XCEngine::Math::Vector3 cameraRight = ::XCEngine::Math::Vector3::Right();
::XCEngine::Math::Vector3 cameraUp = ::XCEngine::Math::Vector3::Up();
float verticalFovDegrees = 60.0f;
float nearClipPlane = 0.03f;
float farClipPlane = 2000.0f;
float orbitDistance = 6.0f;
};
struct InfiniteGridParameters {
bool valid = false;
float baseScale = 1.0f;
float transitionBlend = 0.0f;
float fadeDistance = 500.0f;
};
InfiniteGridParameters BuildInfiniteGridParameters(
const SceneViewportGridPassData& data);
struct SceneViewportSelectionOutlineStyle {
::XCEngine::Math::Color outlineColor = ::XCEngine::Math::Color(1.0f, 0.4f, 0.0f, 1.0f);
float outlineWidthPixels = 2.0f;
bool debugSelectionMask = false;
};
} // namespace XCEngine::UI::Editor::App