feat(render): implement Campaign AR and terrain fidelity

This commit is contained in:
Erik 2026-08-22 13:13:29 +02:00
parent 99cf26e00c
commit 7a5f96ede5
368 changed files with 50611 additions and 950 deletions

View file

@ -149,6 +149,15 @@ if (runtimeOptions.DevTools)
var worldGameState = new AcDream.Core.Plugins.WorldGameState();
var worldEvents = new AcDream.Core.Plugins.WorldEvents();
var uiRegistry = new AcDream.App.Plugins.BufferedUiRegistry();
using var renderPackRegistry = new AcDream.App.Plugins.BufferedRenderPackRegistry();
using IDisposable atmosphericPackRegistration = renderPackRegistry.Register(
AcDream.App.Rendering.Packs.BuiltInAtmosphericRenderPack.Descriptor,
AcDream.App.Rendering.Packs.BuiltInAtmosphericRenderPack.CreateAssets(
Path.Combine(
AppContext.BaseDirectory,
"Rendering",
"Shaders",
"spv")));
// Constructed here and handed to both sides: GameWindow binds it to the live
// session's Runtime owners, the plugin host exposes it to plugins.
using var automation = new AcDream.App.Plugins.AppAutomationSurface();
@ -158,7 +167,8 @@ using var window = new GameWindow(
worldEvents,
uiRegistry,
graphicalPlatform,
automation);
automation,
renderPackRegistry);
var host = new AppPluginHost(
new SerilogAdapter(Log.Logger),
worldGameState,
@ -171,7 +181,8 @@ GraphicalPluginSession pluginSession = GraphicalPluginSession.Create(
runtimeOptions.Plugins,
runtimeOptions.SessionId ?? "app",
host,
window.StatusWriter);
window.StatusWriter,
renderPackRegistry);
window.StartPluginHosting(pluginSession);
try