aboutsummaryrefslogtreecommitdiff
path: root/src/engine/engine.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-23 05:53:33 +0200
committerhachem <im@hachem.wtf>2026-08-23 05:53:33 +0200
commite3aa33fc9a99d8b817bda42a567a4c347e18ab32 (patch)
treeda0e7ba3ce97a3e545d95d49e366be128c6d2112 /src/engine/engine.h
parent43cee69e40be3cb8b0341c3fc94171fe01712b8c (diff)
[add]: unified interface
Diffstat (limited to 'src/engine/engine.h')
-rw-r--r--src/engine/engine.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/engine/engine.h b/src/engine/engine.h
index c7d02b5..fef8b57 100644
--- a/src/engine/engine.h
+++ b/src/engine/engine.h
@@ -12,6 +12,7 @@
#include "object.h"
#include "rendering/renderer.h"
+#include "rendering/renderer_backend.h"
#include "rendering/shader.h"
#include "rendering/vertex_array.h"
#include "rendering/texture.h"
@@ -131,6 +132,10 @@ namespace Donut
auto set_hdri_environment(Ref<CubemapTexture> hdri) -> void { m_hdri_environment = hdri; }
auto get_hdri_environment() const -> Ref<CubemapTexture> { return m_hdri_environment; }
+
+ // Shared live black-hole/disk parameters (drives the geodesic UBOs so the
+ // GL path renders identically to Vulkan). The OpenGL backend mutates this.
+ auto black_hole_params() -> BlackHoleParams& { return m_bh; }
private:
auto create_compute_program(const char* path) -> Ref<Shader>;
std::pair<Ref<VertexArray>, Ref<Texture2D>> QuadVAO();
@@ -175,6 +180,8 @@ namespace Donut
int m_max_steps_static = 30000;
float m_early_exit_distance = 5.0e11f;
+ BlackHoleParams m_bh; // shared UI-tunable disk/camera params (GL geodesic driver)
+
float m_disk_thickness = 0.1f;
float m_disk_density = 0.1f;
float m_rotation_speed = 1.0f;