37 lines
1.1 KiB
C++
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
|