diff options
| author | hachem <im@hachem.wtf> | 2025-08-25 11:28:49 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-25 11:28:49 +0200 |
| commit | ecb6705c7fc4fb085184712567d0e936ea5d0d1f (patch) | |
| tree | 409937cd7fa094c36cf6607a88a2ef25913bdf18 /src/states/world_builder_state.h | |
| parent | 12790572d039b8ea36d53013aa291d03a73ebe5c (diff) | |
fix: QOL improvements
Diffstat (limited to 'src/states/world_builder_state.h')
| -rw-r--r-- | src/states/world_builder_state.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/states/world_builder_state.h b/src/states/world_builder_state.h index edfb346..243b750 100644 --- a/src/states/world_builder_state.h +++ b/src/states/world_builder_state.h @@ -40,6 +40,8 @@ namespace Donut void load_scene(); void render_scene(); void initialize_sphere_geometry(); + void initialize_grid_geometry(); + void render_grid(); private: Scene m_scene; Camera m_camera; @@ -52,6 +54,9 @@ namespace Donut Ref<Shader> m_skybox_shader; Ref<VertexArray> m_skybox_vao; + Ref<Shader> m_grid_shader; + Ref<VertexArray> m_grid_vao; + glm::vec3 m_new_object_position = glm::vec3(0.0f, 0.0f, 0.0f); float m_new_object_radius = 1.0f; glm::vec3 m_new_object_color = glm::vec3(1.0f, 1.0f, 1.0f); @@ -65,15 +70,20 @@ namespace Donut ImGuizmo::OPERATION m_gizmo_operation = ImGuizmo::TRANSLATE; ImGuizmo::MODE m_gizmo_mode = ImGuizmo::LOCAL; - bool m_show_object_list = true; - bool m_show_object_creator = true; - bool m_show_scene_info = true; - bool m_show_gizmo_controls = true; + bool m_show_object_list = true; + bool m_show_object_creator = true; + bool m_show_scene_info = true; + bool m_show_gizmo_controls = true; bool m_show_outline_controls = true; + bool m_show_grid = true; glm::vec3 m_outline_color = glm::vec3(1.0f, 1.0f, 1.0f); float m_outline_width = 0.25f; + glm::vec3 m_grid_color = glm::vec3(0.5f, 0.5f, 0.5f); + float m_grid_alpha = 0.5f; + float m_grid_size = 50.0f; + Object m_black_hole; bool m_black_hole_initialized = false; |
