This commit is contained in:
Confideo-IOM
2026-08-30 19:06:41 +01:00
parent e3d37e3f8a
commit fe64b25cf3
90 changed files with 1986 additions and 485 deletions
+11 -1
View File
@@ -69,6 +69,8 @@
#include "../task/renderer/HydraEndRenderTask.hpp"
#include "../mesh/HydraMeshManager.h"
#include "../gui/HydraGuiManager.h"
HydraTaskScheduler *const HydraEngine::TaskScheduler()
{
return m_task_scheduler;
@@ -208,6 +210,7 @@ void HydraEngine::_CreateManagers()
m_material_buffer_manager = new HydraMaterialBufferManager();
m_light_buffer_manager = new HydraLightBufferManager();
m_shadow_buffer_manager = new HydraShadowBufferManager();
m_gui_manager = new HydraGUIManager();
}
@@ -232,6 +235,7 @@ void HydraEngine::_InitialiseManagers()
HydraID create_shadow_buffer_task_id = m_task_scheduler->CreateTask<HydraInitialiseShadowBufferTask>(HydraThreadAffinity::Render);
m_task_scheduler->WaitForTask(create_shadow_buffer_task_id);
m_gui_manager->Intialise();
}
@@ -474,6 +478,11 @@ void HydraEngine::_GameLoop()
HydraRenderPipelineTask* render_def_task = static_cast<HydraRenderPipelineTask*>(m_task_scheduler->GetTask(render_def_task_id));
render_def_task->Initialise(m_deferred_pipeline);
m_task_scheduler->WaitForTask(render_def_task_id);
m_gui_manager->BeginFrame();
m_gui_manager->DrawWindows();
m_gui_manager->EndFrame();
HydraID end_task_id = m_task_scheduler->CreateTask<HydraEndRenderTask>(HydraThreadAffinity::Render);
m_task_scheduler->WaitForTask(end_task_id);
@@ -489,7 +498,7 @@ void HydraEngine::_Shutdown()
//Shutdown the buffer and vertex buffer managers
m_gui_manager->Shutdown();
HydraID shutdown_buffer_mgr_id = m_task_scheduler->CreateTask<HydraShutdownBufferManagerTask>(HydraThreadAffinity::Render);
m_task_scheduler->WaitForTask(shutdown_buffer_mgr_id);
@@ -513,6 +522,7 @@ void HydraEngine::_Shutdown()
delete m_texture_buffer_manager;
delete m_material_buffer_manager;
delete m_light_buffer_manager;
delete m_gui_manager;
}
bool HydraEngine::KeyPressed(HYDRA_KEY_CODES key)
+2
View File
@@ -32,6 +32,7 @@ class HydraPointShadowSourceSystem;
class HydraPhysicsSystem;
class HydraTickActorsSystem;
class HydraShadowCasterSystem;
class HydraGUIManager;
class CLASS_DEFINE HydraEngine : public HydraObject
{
@@ -98,6 +99,7 @@ private:
HydraMaterialBufferManager* m_material_buffer_manager = nullptr;
HydraLightBufferManager* m_light_buffer_manager = nullptr;
HydraShadowBufferManager* m_shadow_buffer_manager = nullptr;
HydraGUIManager* m_gui_manager = nullptr;
std::shared_ptr<HydraMeshSystem> m_mesh_system;
std::shared_ptr<HydraTransformSystem> m_transform_system;
+1 -1
View File
@@ -13,7 +13,7 @@ void HydraObject::DebugLog(std::string log_entry)
#ifdef __unix__ /* __unix__ is usually defined by compilers targeting Unix systems */
std::cout << log_entry + "\r\n";
#elif defined(_WIN32) || defined(WIN32) /* _Win32 is usually defined by compilers targeting 32 or 64 bit Windows systems */
OutputDebugString(log_entry.c_str());
//OutputDebugString(log_entry.c_str());
#endif
}