From f690e1f9211ab88f243212fbf8357fd70575fab1 Mon Sep 17 00:00:00 2001 From: nekoffski Date: Thu, 2 May 2024 00:08:27 +0200 Subject: [PATCH] remove core/utils subdir --- CMakeLists.txt | 5 +- editor/Application.cpp | 14 ++--- editor/Application.h | 4 +- editor/ui/Console.cpp | 2 +- editor/ui/Console.h | 2 +- editor/ui/UI.cpp | 2 +- engine/src/starlight/core/Context.cpp | 7 +-- engine/src/starlight/core/Context.h | 8 ++- engine/src/starlight/core/Core.h | 4 ++ .../starlight/core/{utils => }/FileSystem.cpp | 0 .../starlight/core/{utils => }/FileSystem.h | 0 .../starlight/core/{utils => }/FreeList.cpp | 0 .../src/starlight/core/{utils => }/FreeList.h | 2 +- engine/src/starlight/core/Id.hpp | 1 - .../src/starlight/core/{utils => }/Json.hpp | 0 engine/src/starlight/core/{utils => }/Log.cpp | 0 engine/src/starlight/core/{utils => }/Log.h | 0 .../core/{utils => }/RAIIWrapper.hpp | 0 .../core/{utils => }/ResourcePool.hpp | 2 +- .../src/starlight/core/{utils => }/Slot.hpp | 0 .../core/{utils => }/TimeManager.cpp | 0 .../starlight/core/{utils => }/TimeManager.h | 0 engine/src/starlight/core/math/Vertex.cpp | 2 +- .../starlight/core/memory/DynamicAllocator.h | 2 +- .../src/starlight/core/window/glfw/Vulkan.cpp | 2 +- .../src/starlight/core/window/glfw/Window.cpp | 2 +- engine/src/starlight/renderer/CMakeLists.txt | 2 +- engine/src/starlight/renderer/PolygonMode.cpp | 2 +- .../starlight/renderer/RendererFrontend.cpp | 8 +-- .../src/starlight/renderer/RendererFrontend.h | 8 ++- engine/src/starlight/renderer/Utils.cpp | 2 +- .../renderer/camera/FirstPersonCamera.cpp | 2 +- engine/src/starlight/renderer/gpu/Shader.h | 2 +- .../src/starlight/renderer/gpu/UIRenderer.cpp | 2 +- .../starlight/renderer/gpu/vulkan/VKBuffer.h | 2 +- .../starlight/renderer/gpu/vulkan/VKContext.h | 2 +- .../renderer/gpu/vulkan/VKPipeline.h | 2 +- .../renderer/gpu/vulkan/VKResourcePools.h | 2 +- .../renderer/gpu/vulkan/VKUIRenderer.cpp | 2 +- .../starlight/resource/configs/ImageData.cpp | 2 +- .../resource/configs/MaterialConfig.cpp | 2 +- .../resource/configs/MaterialConfig.h | 2 +- .../resource/configs/ModelConfig.cpp | 2 +- .../starlight/resource/configs/ModelConfig.h | 2 +- .../resource/configs/ShaderConfig.cpp | 2 +- .../starlight/resource/configs/ShaderConfig.h | 2 +- .../resource/managers/MaterialManager.h | 4 +- .../resource/managers/ModelManager.cpp | 2 +- .../resource/managers/ModelManager.h | 2 +- .../resource/managers/ResourceManager.hpp | 2 +- .../resource/managers/ShaderManager.cpp | 2 +- .../resource/managers/SkyboxManager.h | 2 +- engine/src/starlight/scene/Scene.h | 2 +- .../src/starlight/scene/SceneDeserializer.cpp | 2 +- .../src/starlight/scene/SceneDeserializer.h | 4 +- engine/src/starlight/scene/SceneSerializer.h | 4 +- .../starlight/scene/components/Component.h | 2 +- .../scene/ecs/ComponentContainer.hpp | 2 +- engine/src/starlight/ui/widgets/Menu.h | 2 +- engine/src/starlight/ui/widgets/Popup.h | 2 +- engine/test/renderer/ResourcePoolTests.cpp | 2 +- sandbox/CMakeLists.txt | 8 +++ sandbox/main.cpp | 58 +++++++++++++++++++ 63 files changed, 145 insertions(+), 70 deletions(-) rename engine/src/starlight/core/{utils => }/FileSystem.cpp (100%) rename engine/src/starlight/core/{utils => }/FileSystem.h (100%) rename engine/src/starlight/core/{utils => }/FreeList.cpp (100%) rename engine/src/starlight/core/{utils => }/FreeList.h (94%) rename engine/src/starlight/core/{utils => }/Json.hpp (100%) rename engine/src/starlight/core/{utils => }/Log.cpp (100%) rename engine/src/starlight/core/{utils => }/Log.h (100%) rename engine/src/starlight/core/{utils => }/RAIIWrapper.hpp (100%) rename engine/src/starlight/core/{utils => }/ResourcePool.hpp (96%) rename engine/src/starlight/core/{utils => }/Slot.hpp (100%) rename engine/src/starlight/core/{utils => }/TimeManager.cpp (100%) rename engine/src/starlight/core/{utils => }/TimeManager.h (100%) create mode 100644 sandbox/CMakeLists.txt create mode 100644 sandbox/main.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 1aa1a664..f4522f06 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,8 @@ set(CMAKE_BUILD_TYPE Debug) # set(CMAKE_BUILD_TYPE RelWithDebInfo) set(SL_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/engine/src) -set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") -set (CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") +# set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") +# set (CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") add_definitions(-DDEV_MODE=1) add_definitions(-DUSE_GLFW=1) @@ -40,3 +40,4 @@ endif() add_subdirectory(3rdparty) add_subdirectory(engine) add_subdirectory(editor) +add_subdirectory(sandbox) diff --git a/editor/Application.cpp b/editor/Application.cpp index 97b8244a..407006cf 100644 --- a/editor/Application.cpp +++ b/editor/Application.cpp @@ -21,16 +21,16 @@ Application::Application(int argc, char** argv) : m_isRunning(false), m_update(false), m_context("Starlight Editor"), - m_window(m_context.getWindow()), m_renderer(*m_window, *m_context.getConfig()), + m_window(m_context.getWindow()), m_renderer(m_context), m_resourceContext(*m_renderer.getResourcePools()), m_activeCamera(nullptr), m_ui( - m_window->getSize().width, - m_window->getSize().height, // TODO: no comment required + m_window.getSize().width, + m_window.getSize().height, // TODO: no comment required m_renderer, &m_scene ), m_logger(m_ui.getLogger()), m_sceneSerializer(m_fileSystem), m_sceneDeserializer(m_fileSystem) { - const auto& [w, h] = m_window->getSize(); + const auto& [w, h] = m_window.getSize(); sl::ModelManager::get().load("falcon"); sl::ModelManager::get().load("tower"); @@ -130,13 +130,13 @@ void Application::setupEventHandlers() { if (key == SL_KEY_4) { m_activeCamera = m_eulerCamera.get(); m_ui.getState()->camera = m_activeCamera; - m_window->showCursor(); + m_window.showCursor(); for (auto& view : m_views) view->setCamera(m_activeCamera); } if (key == SL_KEY_3) { m_activeCamera = m_firstPersonCamera.get(); m_ui.getState()->camera = m_activeCamera; - m_window->hideCursor(); + m_window.hideCursor(); for (auto& view : m_views) view->setCamera(m_activeCamera); } if (key == SL_KEY_U) m_update = !m_update; @@ -176,7 +176,7 @@ void Application::setupEventHandlers() { } void Application::calculateViewport() { - const auto [w, h] = m_window->getSize(); + const auto [w, h] = m_window.getSize(); m_viewport.x = panelWidthFactor * w; m_viewport.y = 0.25f * h; diff --git a/editor/Application.h b/editor/Application.h index ee6ae8e3..30785a35 100644 --- a/editor/Application.h +++ b/editor/Application.h @@ -6,7 +6,7 @@ #include "starlight/core/memory/Memory.hpp" #include "starlight/core/window/Window.h" #include "starlight/core/Context.h" -#include "starlight/core/utils/FileSystem.h" +#include "starlight/core/FileSystem.h" #include "starlight/renderer/camera/EulerCamera.h" #include "starlight/renderer/camera/FirstPersonCamera.h" @@ -37,7 +37,7 @@ class Application { bool m_update; sl::Context m_context; - sl::Window* m_window; + sl::Window& m_window; sl::RendererFrontend m_renderer; sl::ResourceContext m_resourceContext; diff --git a/editor/ui/Console.cpp b/editor/ui/Console.cpp index 89cfa131..ca203a7c 100644 --- a/editor/ui/Console.cpp +++ b/editor/ui/Console.cpp @@ -1,6 +1,6 @@ #include "Console.h" -#include "starlight/core/utils/TimeManager.h" +#include "starlight/core/TimeManager.h" #include "starlight/ui/UI.h" Console::Console() : m_logger(m_buffer) {} diff --git a/editor/ui/Console.h b/editor/ui/Console.h index ea4f0331..df65e46c 100644 --- a/editor/ui/Console.h +++ b/editor/ui/Console.h @@ -4,7 +4,7 @@ #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" class Logger { enum class Severity { info, debug, warning }; diff --git a/editor/ui/UI.cpp b/editor/ui/UI.cpp index 5db10d03..abe57b3e 100644 --- a/editor/ui/UI.cpp +++ b/editor/ui/UI.cpp @@ -1,6 +1,6 @@ #include "UI.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/core/math/Glm.h" #include "starlight/core/event/Event.h" diff --git a/engine/src/starlight/core/Context.cpp b/engine/src/starlight/core/Context.cpp index 41422216..ad506ace 100644 --- a/engine/src/starlight/core/Context.cpp +++ b/engine/src/starlight/core/Context.cpp @@ -1,6 +1,6 @@ #include "Context.h" -#include "utils/Log.h" +#include "Log.h" namespace sl { @@ -12,8 +12,6 @@ Context::LoggerInitializator::LoggerInitializator(const std::string& application Context::Context(const std::string& applicationName) : m_loggerInitializator(applicationName), m_windowManager(&m_window) {} -Window* Context::getWindow() { return &m_window; } - float Context::beginFrame() { const auto deltaTime = m_timeManager.getDeltaTime(); @@ -31,6 +29,7 @@ void Context::endFrame() { m_windowManager.update(); } -Config* Context::getConfig() { return &m_config; } +Config& Context::getConfig() { return m_config; } +Window& Context::getWindow() { return m_window; } } // namespace sl diff --git a/engine/src/starlight/core/Context.h b/engine/src/starlight/core/Context.h index 6c3ef97b..398a4686 100644 --- a/engine/src/starlight/core/Context.h +++ b/engine/src/starlight/core/Context.h @@ -6,7 +6,7 @@ #include "window/Vendor.h" #include "event/Event.h" -#include "utils/TimeManager.h" +#include "TimeManager.h" #include "Config.h" #include "Core.h" @@ -17,6 +17,8 @@ class Context { explicit LoggerInitializator(const std::string& applicationName); }; + NO_COPY(Context); + public: explicit Context(const std::string& applicationName = "starlight"); @@ -27,8 +29,8 @@ class Context { endFrame(); } - Window* getWindow(); - Config* getConfig(); + Window& getWindow(); + Config& getConfig(); private: float beginFrame(); diff --git a/engine/src/starlight/core/Core.h b/engine/src/starlight/core/Core.h index 829f737c..b1185d1c 100644 --- a/engine/src/starlight/core/Core.h +++ b/engine/src/starlight/core/Core.h @@ -12,6 +12,10 @@ namespace sl { DEFINE_ERROR(Error); +#define NO_COPY(Class) \ + Class(Class&) = delete; \ + Class& operator=(Class&) = delete; + using u64 = uint64_t; using u32 = uint32_t; using u16 = uint16_t; diff --git a/engine/src/starlight/core/utils/FileSystem.cpp b/engine/src/starlight/core/FileSystem.cpp similarity index 100% rename from engine/src/starlight/core/utils/FileSystem.cpp rename to engine/src/starlight/core/FileSystem.cpp diff --git a/engine/src/starlight/core/utils/FileSystem.h b/engine/src/starlight/core/FileSystem.h similarity index 100% rename from engine/src/starlight/core/utils/FileSystem.h rename to engine/src/starlight/core/FileSystem.h diff --git a/engine/src/starlight/core/utils/FreeList.cpp b/engine/src/starlight/core/FreeList.cpp similarity index 100% rename from engine/src/starlight/core/utils/FreeList.cpp rename to engine/src/starlight/core/FreeList.cpp diff --git a/engine/src/starlight/core/utils/FreeList.h b/engine/src/starlight/core/FreeList.h similarity index 94% rename from engine/src/starlight/core/utils/FreeList.h rename to engine/src/starlight/core/FreeList.h index fdad9f96..ce237961 100644 --- a/engine/src/starlight/core/utils/FreeList.h +++ b/engine/src/starlight/core/FreeList.h @@ -4,7 +4,7 @@ #include #include -#include +#include namespace sl { diff --git a/engine/src/starlight/core/Id.hpp b/engine/src/starlight/core/Id.hpp index d25bf2ee..3ad38e2e 100644 --- a/engine/src/starlight/core/Id.hpp +++ b/engine/src/starlight/core/Id.hpp @@ -28,7 +28,6 @@ class Id { void invalidate() { m_value = invalidId; } bool hasValue() const { return m_value != invalidId; } - // operator T() const { return m_value; } private: T m_value; diff --git a/engine/src/starlight/core/utils/Json.hpp b/engine/src/starlight/core/Json.hpp similarity index 100% rename from engine/src/starlight/core/utils/Json.hpp rename to engine/src/starlight/core/Json.hpp diff --git a/engine/src/starlight/core/utils/Log.cpp b/engine/src/starlight/core/Log.cpp similarity index 100% rename from engine/src/starlight/core/utils/Log.cpp rename to engine/src/starlight/core/Log.cpp diff --git a/engine/src/starlight/core/utils/Log.h b/engine/src/starlight/core/Log.h similarity index 100% rename from engine/src/starlight/core/utils/Log.h rename to engine/src/starlight/core/Log.h diff --git a/engine/src/starlight/core/utils/RAIIWrapper.hpp b/engine/src/starlight/core/RAIIWrapper.hpp similarity index 100% rename from engine/src/starlight/core/utils/RAIIWrapper.hpp rename to engine/src/starlight/core/RAIIWrapper.hpp diff --git a/engine/src/starlight/core/utils/ResourcePool.hpp b/engine/src/starlight/core/ResourcePool.hpp similarity index 96% rename from engine/src/starlight/core/utils/ResourcePool.hpp rename to engine/src/starlight/core/ResourcePool.hpp index 23de4a8e..1eb40572 100644 --- a/engine/src/starlight/core/utils/ResourcePool.hpp +++ b/engine/src/starlight/core/ResourcePool.hpp @@ -7,7 +7,7 @@ #include "starlight/core/Core.h" #include "starlight/core/memory/Memory.hpp" #include "starlight/core/math/Vertex.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl { diff --git a/engine/src/starlight/core/utils/Slot.hpp b/engine/src/starlight/core/Slot.hpp similarity index 100% rename from engine/src/starlight/core/utils/Slot.hpp rename to engine/src/starlight/core/Slot.hpp diff --git a/engine/src/starlight/core/utils/TimeManager.cpp b/engine/src/starlight/core/TimeManager.cpp similarity index 100% rename from engine/src/starlight/core/utils/TimeManager.cpp rename to engine/src/starlight/core/TimeManager.cpp diff --git a/engine/src/starlight/core/utils/TimeManager.h b/engine/src/starlight/core/TimeManager.h similarity index 100% rename from engine/src/starlight/core/utils/TimeManager.h rename to engine/src/starlight/core/TimeManager.h diff --git a/engine/src/starlight/core/math/Vertex.cpp b/engine/src/starlight/core/math/Vertex.cpp index 45736efa..014f7db4 100644 --- a/engine/src/starlight/core/math/Vertex.cpp +++ b/engine/src/starlight/core/math/Vertex.cpp @@ -1,6 +1,6 @@ #include "Vertex.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl { diff --git a/engine/src/starlight/core/memory/DynamicAllocator.h b/engine/src/starlight/core/memory/DynamicAllocator.h index e8910a41..8dd65c68 100644 --- a/engine/src/starlight/core/memory/DynamicAllocator.h +++ b/engine/src/starlight/core/memory/DynamicAllocator.h @@ -2,7 +2,7 @@ #include -#include "starlight/core/utils/FreeList.h" +#include "starlight/core/FreeList.h" namespace sl { diff --git a/engine/src/starlight/core/window/glfw/Vulkan.cpp b/engine/src/starlight/core/window/glfw/Vulkan.cpp index 51e40358..e5303c5e 100644 --- a/engine/src/starlight/core/window/glfw/Vulkan.cpp +++ b/engine/src/starlight/core/window/glfw/Vulkan.cpp @@ -7,7 +7,7 @@ #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #define VK_ASSERT(expr) \ { ASSERT(expr == VK_SUCCESS, "Vulkan Fatal Error: {}", expr); } diff --git a/engine/src/starlight/core/window/glfw/Window.cpp b/engine/src/starlight/core/window/glfw/Window.cpp index 0c0eb0a5..14d9e1cc 100644 --- a/engine/src/starlight/core/window/glfw/Window.cpp +++ b/engine/src/starlight/core/window/glfw/Window.cpp @@ -2,7 +2,7 @@ #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/core/event/Input.h" namespace sl::glfw { diff --git a/engine/src/starlight/renderer/CMakeLists.txt b/engine/src/starlight/renderer/CMakeLists.txt index 61aa442e..54b58117 100644 --- a/engine/src/starlight/renderer/CMakeLists.txt +++ b/engine/src/starlight/renderer/CMakeLists.txt @@ -1,6 +1,6 @@ find_package(Vulkan REQUIRED) -set(SL_LIBS spdlog stb assimp dl kc fmt glfw imgui backward backward backward ${Vulkan_LIBRARIES} starlight-core) +set(SL_LIBS spdlog stb assimp dl kc fmt glfw imgui backward ${Vulkan_LIBRARIES} starlight-core) set(SL_TARGET starlight-renderer) file(GLOB_RECURSE SL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) diff --git a/engine/src/starlight/renderer/PolygonMode.cpp b/engine/src/starlight/renderer/PolygonMode.cpp index 581db7f3..07bba934 100644 --- a/engine/src/starlight/renderer/PolygonMode.cpp +++ b/engine/src/starlight/renderer/PolygonMode.cpp @@ -1,6 +1,6 @@ #include "PolygonMode.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl { diff --git a/engine/src/starlight/renderer/RendererFrontend.cpp b/engine/src/starlight/renderer/RendererFrontend.cpp index 093f9cd9..899a870d 100644 --- a/engine/src/starlight/renderer/RendererFrontend.cpp +++ b/engine/src/starlight/renderer/RendererFrontend.cpp @@ -8,10 +8,10 @@ namespace sl { -RendererFrontend::RendererFrontend(Window& window, const Config& config) : - m_backend(window, config), m_renderMode(RenderMode::standard), - m_framesSinceResize(0u), m_resizing(false) { - const auto [w, h] = window.getSize(); +RendererFrontend::RendererFrontend(Context& context) : + m_backend(context.getWindow(), context.getConfig()), + m_renderMode(RenderMode::standard), m_framesSinceResize(0u), m_resizing(false) { + const auto [w, h] = context.getWindow().getSize(); m_viewportWidth = w; m_viewportHeight = h; } diff --git a/engine/src/starlight/renderer/RendererFrontend.h b/engine/src/starlight/renderer/RendererFrontend.h index d0fb82bf..6597f044 100644 --- a/engine/src/starlight/renderer/RendererFrontend.h +++ b/engine/src/starlight/renderer/RendererFrontend.h @@ -4,6 +4,8 @@ #include #include +#include "starlight/core/Context.h" + #include "RenderPacket.h" #include "RenderMode.h" #include "FrameStatistics.h" @@ -17,8 +19,10 @@ namespace sl { class RendererFrontend { + NO_COPY(RendererFrontend); + public: - explicit RendererFrontend(Window& window, const Config& config); + explicit RendererFrontend(Context& context); void init(std::span renderViews); @@ -33,7 +37,7 @@ class RendererFrontend { void onViewportResize(u32 w, u32 h); private: - vk::VKRendererBackend m_backend; + RendererBackendVendor m_backend; std::vector m_renderViews; diff --git a/engine/src/starlight/renderer/Utils.cpp b/engine/src/starlight/renderer/Utils.cpp index e777f89d..d373f7b4 100644 --- a/engine/src/starlight/renderer/Utils.cpp +++ b/engine/src/starlight/renderer/Utils.cpp @@ -1,6 +1,6 @@ #include "CullMode.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl { diff --git a/engine/src/starlight/renderer/camera/FirstPersonCamera.cpp b/engine/src/starlight/renderer/camera/FirstPersonCamera.cpp index dda4d0f1..91a3aacc 100644 --- a/engine/src/starlight/renderer/camera/FirstPersonCamera.cpp +++ b/engine/src/starlight/renderer/camera/FirstPersonCamera.cpp @@ -2,7 +2,7 @@ #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/core/window/Keys.h" namespace sl { diff --git a/engine/src/starlight/renderer/gpu/Shader.h b/engine/src/starlight/renderer/gpu/Shader.h index 76de82f0..22e66084 100644 --- a/engine/src/starlight/renderer/gpu/Shader.h +++ b/engine/src/starlight/renderer/gpu/Shader.h @@ -12,7 +12,7 @@ #include "starlight/core/math/Glm.h" #include "starlight/core/Id.hpp" #include "starlight/core/Core.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/renderer/CullMode.h" #include "starlight/renderer/PolygonMode.h" #include "fwd.h" diff --git a/engine/src/starlight/renderer/gpu/UIRenderer.cpp b/engine/src/starlight/renderer/gpu/UIRenderer.cpp index f0943f42..bc93a5b8 100644 --- a/engine/src/starlight/renderer/gpu/UIRenderer.cpp +++ b/engine/src/starlight/renderer/gpu/UIRenderer.cpp @@ -1,6 +1,6 @@ #include "UIRenderer.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include diff --git a/engine/src/starlight/renderer/gpu/vulkan/VKBuffer.h b/engine/src/starlight/renderer/gpu/vulkan/VKBuffer.h index d2ce4363..20c2b197 100644 --- a/engine/src/starlight/renderer/gpu/vulkan/VKBuffer.h +++ b/engine/src/starlight/renderer/gpu/vulkan/VKBuffer.h @@ -5,7 +5,7 @@ #include #include "starlight/core/memory/Memory.hpp" -#include "starlight/core/utils/FreeList.h" +#include "starlight/core/FreeList.h" #include "VKLogicalDevice.h" #include "VKContext.h" diff --git a/engine/src/starlight/renderer/gpu/vulkan/VKContext.h b/engine/src/starlight/renderer/gpu/vulkan/VKContext.h index dd5caad5..b968f69d 100644 --- a/engine/src/starlight/renderer/gpu/vulkan/VKContext.h +++ b/engine/src/starlight/renderer/gpu/vulkan/VKContext.h @@ -4,7 +4,7 @@ #include "starlight/core/fwd.h" #include "starlight/core/Config.h" -#include "starlight/core/utils/RAIIWrapper.hpp" +#include "starlight/core/RAIIWrapper.hpp" namespace sl::vk { diff --git a/engine/src/starlight/renderer/gpu/vulkan/VKPipeline.h b/engine/src/starlight/renderer/gpu/vulkan/VKPipeline.h index 93f31e0a..02f0edd1 100644 --- a/engine/src/starlight/renderer/gpu/vulkan/VKPipeline.h +++ b/engine/src/starlight/renderer/gpu/vulkan/VKPipeline.h @@ -3,7 +3,7 @@ #include #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/core/Core.h" #include "Vulkan.h" diff --git a/engine/src/starlight/renderer/gpu/vulkan/VKResourcePools.h b/engine/src/starlight/renderer/gpu/vulkan/VKResourcePools.h index aecba76a..6c3a2ef7 100644 --- a/engine/src/starlight/renderer/gpu/vulkan/VKResourcePools.h +++ b/engine/src/starlight/renderer/gpu/vulkan/VKResourcePools.h @@ -1,6 +1,6 @@ #pragma once -#include "starlight/core/utils/ResourcePool.hpp" +#include "starlight/core/ResourcePool.hpp" #include "starlight/renderer/gpu/ResourcePools.h" #include "VKTexture.h" diff --git a/engine/src/starlight/renderer/gpu/vulkan/VKUIRenderer.cpp b/engine/src/starlight/renderer/gpu/vulkan/VKUIRenderer.cpp index cc4e6e35..25126f05 100644 --- a/engine/src/starlight/renderer/gpu/vulkan/VKUIRenderer.cpp +++ b/engine/src/starlight/renderer/gpu/vulkan/VKUIRenderer.cpp @@ -5,7 +5,7 @@ #include #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "Vulkan.h" #include "VKContext.h" diff --git a/engine/src/starlight/resource/configs/ImageData.cpp b/engine/src/starlight/resource/configs/ImageData.cpp index 314e96e3..ace0d929 100644 --- a/engine/src/starlight/resource/configs/ImageData.cpp +++ b/engine/src/starlight/resource/configs/ImageData.cpp @@ -2,7 +2,7 @@ #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl { diff --git a/engine/src/starlight/resource/configs/MaterialConfig.cpp b/engine/src/starlight/resource/configs/MaterialConfig.cpp index 521b7fc6..bd405fb5 100644 --- a/engine/src/starlight/resource/configs/MaterialConfig.cpp +++ b/engine/src/starlight/resource/configs/MaterialConfig.cpp @@ -1,6 +1,6 @@ #include "MaterialConfig.h" -#include "starlight/core/utils/Json.hpp" +#include "starlight/core/Json.hpp" namespace sl { diff --git a/engine/src/starlight/resource/configs/MaterialConfig.h b/engine/src/starlight/resource/configs/MaterialConfig.h index f1cbb4b9..3ffb1c90 100644 --- a/engine/src/starlight/resource/configs/MaterialConfig.h +++ b/engine/src/starlight/resource/configs/MaterialConfig.h @@ -4,7 +4,7 @@ #include #include "starlight/core/math/Glm.h" -#include "starlight/core/utils/FileSystem.h" +#include "starlight/core/FileSystem.h" #include "starlight/renderer/Material.h" diff --git a/engine/src/starlight/resource/configs/ModelConfig.cpp b/engine/src/starlight/resource/configs/ModelConfig.cpp index 89871d53..05fefbbc 100644 --- a/engine/src/starlight/resource/configs/ModelConfig.cpp +++ b/engine/src/starlight/resource/configs/ModelConfig.cpp @@ -4,7 +4,7 @@ #include #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/resource/managers/MaterialManager.h" diff --git a/engine/src/starlight/resource/configs/ModelConfig.h b/engine/src/starlight/resource/configs/ModelConfig.h index 4b78b4ab..80f9bdc0 100644 --- a/engine/src/starlight/resource/configs/ModelConfig.h +++ b/engine/src/starlight/resource/configs/ModelConfig.h @@ -5,7 +5,7 @@ #include #include -#include "starlight/core/utils/FileSystem.h" +#include "starlight/core/FileSystem.h" #include "MeshConfig.h" #include "MaterialConfig.h" diff --git a/engine/src/starlight/resource/configs/ShaderConfig.cpp b/engine/src/starlight/resource/configs/ShaderConfig.cpp index 6bc98163..f478896a 100644 --- a/engine/src/starlight/resource/configs/ShaderConfig.cpp +++ b/engine/src/starlight/resource/configs/ShaderConfig.cpp @@ -5,7 +5,7 @@ #include -#include "starlight/core/utils/Json.hpp" +#include "starlight/core/Json.hpp" namespace sl { diff --git a/engine/src/starlight/resource/configs/ShaderConfig.h b/engine/src/starlight/resource/configs/ShaderConfig.h index 6e00d383..82e6834d 100644 --- a/engine/src/starlight/resource/configs/ShaderConfig.h +++ b/engine/src/starlight/resource/configs/ShaderConfig.h @@ -4,7 +4,7 @@ #include #include "starlight/core/Core.h" -#include "starlight/core/utils/FileSystem.h" +#include "starlight/core/FileSystem.h" #include "starlight/renderer/gpu/Shader.h" namespace sl { diff --git a/engine/src/starlight/resource/managers/MaterialManager.h b/engine/src/starlight/resource/managers/MaterialManager.h index 101f54d0..f883e6fc 100644 --- a/engine/src/starlight/resource/managers/MaterialManager.h +++ b/engine/src/starlight/resource/managers/MaterialManager.h @@ -3,8 +3,8 @@ #include #include -#include "starlight/core/utils/ResourcePool.hpp" -#include "starlight/core/utils/FileSystem.h" +#include "starlight/core/ResourcePool.hpp" +#include "starlight/core/FileSystem.h" #include "starlight/core/memory/Memory.hpp" #include "starlight/renderer/Material.h" #include "starlight/renderer/gpu/ResourcePools.h" diff --git a/engine/src/starlight/resource/managers/ModelManager.cpp b/engine/src/starlight/resource/managers/ModelManager.cpp index c7fe615b..626b083c 100644 --- a/engine/src/starlight/resource/managers/ModelManager.cpp +++ b/engine/src/starlight/resource/managers/ModelManager.cpp @@ -1,6 +1,6 @@ #include "ModelManager.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/resource/configs/ModelConfig.h" namespace sl { diff --git a/engine/src/starlight/resource/managers/ModelManager.h b/engine/src/starlight/resource/managers/ModelManager.h index e1eb544a..c6c6e7b5 100644 --- a/engine/src/starlight/resource/managers/ModelManager.h +++ b/engine/src/starlight/resource/managers/ModelManager.h @@ -3,7 +3,7 @@ #pragma once #include "starlight/core/Core.h" -#include "starlight/core/utils/ResourcePool.hpp" +#include "starlight/core/ResourcePool.hpp" #include "starlight/renderer/Model.h" diff --git a/engine/src/starlight/resource/managers/ResourceManager.hpp b/engine/src/starlight/resource/managers/ResourceManager.hpp index 7fedf25c..10c4f4e4 100644 --- a/engine/src/starlight/resource/managers/ResourceManager.hpp +++ b/engine/src/starlight/resource/managers/ResourceManager.hpp @@ -4,7 +4,7 @@ #include -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl { diff --git a/engine/src/starlight/resource/managers/ShaderManager.cpp b/engine/src/starlight/resource/managers/ShaderManager.cpp index 947249fe..a1aeb5eb 100644 --- a/engine/src/starlight/resource/managers/ShaderManager.cpp +++ b/engine/src/starlight/resource/managers/ShaderManager.cpp @@ -1,6 +1,6 @@ #include "ShaderManager.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "starlight/resource/configs/ShaderConfig.h" diff --git a/engine/src/starlight/resource/managers/SkyboxManager.h b/engine/src/starlight/resource/managers/SkyboxManager.h index 304e0e14..0ea124fb 100644 --- a/engine/src/starlight/resource/managers/SkyboxManager.h +++ b/engine/src/starlight/resource/managers/SkyboxManager.h @@ -3,7 +3,7 @@ #pragma once #include "starlight/core/Core.h" -#include "starlight/core/utils/ResourcePool.hpp" +#include "starlight/core/ResourcePool.hpp" #include "starlight/renderer/Skybox.h" diff --git a/engine/src/starlight/scene/Scene.h b/engine/src/starlight/scene/Scene.h index 15331f0d..8e534af1 100644 --- a/engine/src/starlight/scene/Scene.h +++ b/engine/src/starlight/scene/Scene.h @@ -3,7 +3,7 @@ #include #include "starlight/core/Core.h" -#include "starlight/core/utils/ResourcePool.hpp" +#include "starlight/core/ResourcePool.hpp" #include "starlight/renderer/RenderPacket.h" #include "ecs/Entity.h" diff --git a/engine/src/starlight/scene/SceneDeserializer.cpp b/engine/src/starlight/scene/SceneDeserializer.cpp index 39cb212a..3a695891 100644 --- a/engine/src/starlight/scene/SceneDeserializer.cpp +++ b/engine/src/starlight/scene/SceneDeserializer.cpp @@ -1,6 +1,6 @@ #include "SceneDeserializer.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" #include "components/All.h" diff --git a/engine/src/starlight/scene/SceneDeserializer.h b/engine/src/starlight/scene/SceneDeserializer.h index 203b8a6d..33161ca5 100644 --- a/engine/src/starlight/scene/SceneDeserializer.h +++ b/engine/src/starlight/scene/SceneDeserializer.h @@ -5,8 +5,8 @@ #include #include "starlight/core/Core.h" -#include "starlight/core/utils/FileSystem.h" -#include "starlight/core/utils/Json.hpp" +#include "starlight/core/FileSystem.h" +#include "starlight/core/Json.hpp" #include "Scene.h" diff --git a/engine/src/starlight/scene/SceneSerializer.h b/engine/src/starlight/scene/SceneSerializer.h index 9dc19cde..d9c0ee15 100644 --- a/engine/src/starlight/scene/SceneSerializer.h +++ b/engine/src/starlight/scene/SceneSerializer.h @@ -2,8 +2,8 @@ #include -#include "starlight/core/utils/FileSystem.h" -#include "starlight/core/utils/Json.hpp" +#include "starlight/core/FileSystem.h" +#include "starlight/core/Json.hpp" #include "Scene.h" diff --git a/engine/src/starlight/scene/components/Component.h b/engine/src/starlight/scene/components/Component.h index 7ab39ea5..030b6873 100644 --- a/engine/src/starlight/scene/components/Component.h +++ b/engine/src/starlight/scene/components/Component.h @@ -1,7 +1,7 @@ #pragma once #include "starlight/core/Core.h" -#include "starlight/core/utils/Json.hpp" +#include "starlight/core/Json.hpp" namespace sl { diff --git a/engine/src/starlight/scene/ecs/ComponentContainer.hpp b/engine/src/starlight/scene/ecs/ComponentContainer.hpp index 9081e9cf..87f3df06 100644 --- a/engine/src/starlight/scene/ecs/ComponentContainer.hpp +++ b/engine/src/starlight/scene/ecs/ComponentContainer.hpp @@ -2,7 +2,7 @@ #include -#include "starlight/core/utils/ResourcePool.hpp" +#include "starlight/core/ResourcePool.hpp" #include "starlight/core/Core.h" #include "starlight/scene/components/Component.h" diff --git a/engine/src/starlight/ui/widgets/Menu.h b/engine/src/starlight/ui/widgets/Menu.h index fb92af31..2ee85661 100644 --- a/engine/src/starlight/ui/widgets/Menu.h +++ b/engine/src/starlight/ui/widgets/Menu.h @@ -4,7 +4,7 @@ #include #include "starlight/ui/Core.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl::ui { diff --git a/engine/src/starlight/ui/widgets/Popup.h b/engine/src/starlight/ui/widgets/Popup.h index caee273a..8e04ad3f 100644 --- a/engine/src/starlight/ui/widgets/Popup.h +++ b/engine/src/starlight/ui/widgets/Popup.h @@ -4,7 +4,7 @@ #include #include "starlight/ui/Core.h" -#include "starlight/core/utils/Log.h" +#include "starlight/core/Log.h" namespace sl::ui { diff --git a/engine/test/renderer/ResourcePoolTests.cpp b/engine/test/renderer/ResourcePoolTests.cpp index bdd3d99a..7795988e 100644 --- a/engine/test/renderer/ResourcePoolTests.cpp +++ b/engine/test/renderer/ResourcePoolTests.cpp @@ -1,7 +1,7 @@ #include -#include "starlight/core/utils/ResourcePool.hpp" +#include "starlight/core/ResourcePool.hpp" #include "mock/StubResource.h" diff --git a/sandbox/CMakeLists.txt b/sandbox/CMakeLists.txt new file mode 100644 index 00000000..6f3c9b7b --- /dev/null +++ b/sandbox/CMakeLists.txt @@ -0,0 +1,8 @@ +file(GLOB_RECURSE SANDBOX_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) +set(SANDBOX_TARGET starlight-sandbox) +set(SANDBOX_LIBS starlight-core starlight-renderer starlight-scene) + +add_executable(${SANDBOX_TARGET} ${SANDBOX_SRC}) +set_property(TARGET ${SANDBOX_TARGET} PROPERTY CXX_STANDARD 20) +target_include_directories(${SANDBOX_TARGET} PUBLIC ${SL_INCLUDE} ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(${SANDBOX_TARGET} PUBLIC ${SANDBOX_LIBS}) diff --git a/sandbox/main.cpp b/sandbox/main.cpp new file mode 100644 index 00000000..6f9938a9 --- /dev/null +++ b/sandbox/main.cpp @@ -0,0 +1,58 @@ + + +#include + +#include "starlight/core/Core.h" +#include "starlight/core/window/Window.h" +#include "starlight/core/Context.h" + +#include "starlight/renderer/views/WorldRenderView.h" +#include "starlight/renderer/camera/EulerCamera.h" +#include "starlight/renderer/views/SkyboxRenderView.h" +#include "starlight/renderer/RendererFrontend.h" + +#include "starlight/resource/ResourceContext.h" +#include "starlight/scene/Scene.h" + +static std::atomic_bool isRunning = true; + +int main() { + std::signal(SIGINT, []([[maybe_unused]] int) { isRunning = false; }); + + sl::Context context; + sl::RendererFrontend renderer{ context }; + + auto& window = context.getWindow(); + + sl::EulerCamera camera(sl::EulerCamera::Properties{ + .target = sl::Vec3f{ 0.0f }, + .radius = 5.0f, + .viewportWidth = window.getSize().width, + .viewportHeight = window.getSize().height, + }); + + sl::ResourceContext resourceContext{ *renderer.getResourcePools() }; + + auto skyboxShader = sl::ShaderManager::get().load("Builtin.Shader.Skybox"); + auto skybox = sl::SkyboxManager::get().load("skybox2/skybox", *skyboxShader); + + sl::SkyboxRenderView skyboxView{ &camera, skyboxShader, skybox }; + std::vector renderViews{ &skyboxView }; + + renderer.init(renderViews); + + sl::RenderPacket renderPacket; + + renderPacket.viewport = { + 0.0f, 0.0f, float(window.getSize().width), float(window.getSize().height) + }; + + while (isRunning) { + context.beginFrame([&](float deltaTime) { + renderer.renderFrame(deltaTime, renderPacket); + camera.update(deltaTime); + }); + } + + return 0; +}