feat(editor): persist graphics settings and shadow overrides

This commit is contained in:
2026-04-19 00:01:49 +08:00
parent 9ca7960346
commit 8257403036
31 changed files with 1233 additions and 134 deletions

View File

@@ -0,0 +1,42 @@
#include "Rendering/GraphicsSettingsState.h"
#include <utility>
namespace XCEngine {
namespace Rendering {
GraphicsSettingsState& GetGraphicsSettingsState() {
static GraphicsSettingsState s_state;
return s_state;
}
void GraphicsSettingsState::SetManagedRenderPipelineBridge(
std::shared_ptr<const Pipelines::ManagedRenderPipelineBridge> bridge) {
m_managedRenderPipelineBridge = std::move(bridge);
++m_managedRenderPipelineBridgeGeneration;
BumpEnvironmentGeneration();
}
void GraphicsSettingsState::ClearManagedRenderPipelineBridge() {
m_managedRenderPipelineBridge.reset();
++m_managedRenderPipelineBridgeGeneration;
BumpEnvironmentGeneration();
}
void GraphicsSettingsState::SetRenderPipelineAssetDescriptor(
const Pipelines::ManagedRenderPipelineAssetDescriptor& descriptor) {
m_renderPipelineAssetDescriptor = descriptor;
BumpEnvironmentGeneration();
}
void GraphicsSettingsState::ClearRenderPipelineAssetDescriptor() {
m_renderPipelineAssetDescriptor = {};
BumpEnvironmentGeneration();
}
void GraphicsSettingsState::BumpEnvironmentGeneration() {
++m_environmentGeneration;
}
} // namespace Rendering
} // namespace XCEngine