From 450b3839c6e900edbf57a43a31a9593002e542aa Mon Sep 17 00:00:00 2001 From: Jiga228 Date: Sat, 18 Oct 2025 16:14:14 +0700 Subject: [PATCH] Refactor --- Core/Core/RenderEngine/ModelManager.cpp | 2 +- Core/Core/RenderEngine/ModelManager.hpp | 1 + Core/Core/RenderEngine/RenderEngine.hpp | 12 +++++------- Core/Game/Actors/Actor.cpp | 1 - 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Core/Core/RenderEngine/ModelManager.cpp b/Core/Core/RenderEngine/ModelManager.cpp index aeaddf9..121ccd8 100644 --- a/Core/Core/RenderEngine/ModelManager.cpp +++ b/Core/Core/RenderEngine/ModelManager.cpp @@ -85,7 +85,7 @@ ModelManager::StaticModel* ModelManager::LoadModel(const std::string& name) new_counter.model = new StaticModel(model_data, name); new_counter.model->OnDestroy.bind(this, &ModelManager::OnDestroySometimeModelCaller); models.try_emplace(hash, new_counter); - + OnLoadSometimeModel.Call(new_counter.model); return new_counter.model; } diff --git a/Core/Core/RenderEngine/ModelManager.hpp b/Core/Core/RenderEngine/ModelManager.hpp index 29fbfc5..77fad10 100644 --- a/Core/Core/RenderEngine/ModelManager.hpp +++ b/Core/Core/RenderEngine/ModelManager.hpp @@ -49,6 +49,7 @@ private: public: Delegate OnDestroySometimeModel; + Delegate OnLoadSometimeModel; ~ModelManager(); diff --git a/Core/Core/RenderEngine/RenderEngine.hpp b/Core/Core/RenderEngine/RenderEngine.hpp index 4a1ae17..a9c652f 100644 --- a/Core/Core/RenderEngine/RenderEngine.hpp +++ b/Core/Core/RenderEngine/RenderEngine.hpp @@ -37,7 +37,6 @@ class RenderEngine std::vector present_modes; }; -#pragma region Experemental struct Vertex { glm::vec2 pos; @@ -50,12 +49,6 @@ class RenderEngine {{0.5f, 0.5f}, {0.0f, 1.0f, 0.0f}}, {{-0.5f, 0.5f}, {0.0f, 0.0f, 1.0f}} }; - VkBuffer vertex_buffer_ = VK_NULL_HANDLE; - VkDeviceMemory vertex_buffer_memory_ = VK_NULL_HANDLE; - uint32_t find_memory_type(uint32_t typeFilter, VkMemoryPropertyFlags properties) const; - void allocate_vertex_buffer(); - void copy_memory(VkBuffer src, VkBuffer dst, VkDeviceSize size); -#pragma endregion ModelManager model_manager_; @@ -85,6 +78,8 @@ class RenderEngine std::vector framebuffers_; VkCommandPool command_pool_ = VK_NULL_HANDLE; std::vector command_buffers_; + VkBuffer vertex_buffer_ = VK_NULL_HANDLE; + VkDeviceMemory vertex_buffer_memory_ = VK_NULL_HANDLE; // Sync objects std::vector image_available_semaphores_, render_finished_semaphores_; @@ -107,6 +102,7 @@ class RenderEngine void create_buffer(VkDeviceSize size, VkBufferUsageFlags usage, VkBuffer* buffer, const std::vector& queue_families); void allocate_memory(VkBuffer buffer, VkMemoryPropertyFlags property, VkDeviceMemory* device_memory); + uint32_t find_memory_type(uint32_t typeFilter, VkMemoryPropertyFlags properties) const; void create_instance(); void create_surface(); @@ -120,6 +116,8 @@ class RenderEngine void create_command_pool(); void allocate_command_buffers(); void create_sync_objects(); + void allocate_vertex_buffer(); + void copy_memory(VkBuffer src, VkBuffer dst, VkDeviceSize size); void record_command_buffer(VkCommandBuffer command_buffer, uint32_t image_index) const; void draw_frame(); diff --git a/Core/Game/Actors/Actor.cpp b/Core/Game/Actors/Actor.cpp index 12c7973..550d9a6 100644 --- a/Core/Game/Actors/Actor.cpp +++ b/Core/Game/Actors/Actor.cpp @@ -32,7 +32,6 @@ void Actor::load(std::shared_ptr save) void Actor::BeginPlay() { - Log("Actor::BeginPlay"); } void Actor::Tick(double delta_time)