From 2dd07499241638e66ee0df97cba91219f5599151 Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 22 Aug 2025 04:31:37 +0200 Subject: feat: volumetric cloud rendering --- src/engine/engine.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/engine/engine.cpp') diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 3b5e320..435b3e0 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -36,7 +36,7 @@ namespace Donut m_compute_program = create_compute_program("assets/shaders/geodesic.glsl"); m_camera_ubo = UniformBuffer::create(128, 1); - m_disk_ubo = UniformBuffer::create(sizeof(float) * 4, 2); + m_disk_ubo = UniformBuffer::create(sizeof(float) * 5, 2); uint32_t obj_ubo_size = sizeof(int) + 3 * sizeof(float) + 16 * (sizeof(glm::vec4) + sizeof(glm::vec4)) @@ -177,8 +177,8 @@ namespace Donut float r1 = static_cast(m_sag_a.m_rs * 2.2); float r2 = static_cast(m_sag_a.m_rs * 5.2); float num = 2.0f; - float thickness = 1e9f; - float disk_data[4] = { r1, r2, num, thickness }; + float thickness = static_cast(m_sag_a.m_rs * m_disk_thickness); + float disk_data[5] = { r1, r2, num, thickness, m_disk_density }; m_disk_ubo->set_data(disk_data, sizeof(disk_data)); m_disk_ubo->bind(2); @@ -191,13 +191,13 @@ namespace Donut int max_steps_moving; int max_steps_static; float early_exit_distance; - int padding; + float time; } data; data.max_steps_moving = m_max_steps_moving; data.max_steps_static = m_max_steps_static; data.early_exit_distance = m_early_exit_distance; - data.padding = 0; + data.time = static_cast(glfwGetTime()) * m_rotation_speed; m_simulation_ubo->set_data(&data, sizeof(data)); m_simulation_ubo->bind(4); -- cgit v1.3