From 32341d184cb341d5af951d133b4a46d4f89c692e Mon Sep 17 00:00:00 2001 From: Light Date: Sat, 11 Sep 2021 11:29:44 +0430 Subject: [PATCH] Minor Changes --- Dependencies/GLAD/build.lua | 55 -------- Dependencies/glslang | 1 - Dependencies/shaderc | 1 - Dependencies/spirv-headers | 1 - Engine/CMakeLists.txt | 2 +- Engine/build.lua | 128 ------------------ Engine/src/Engine/Core/Application.cpp | 1 - .../RendererPrograms/QuadRendererProgram.cpp | 5 +- Mirror/build.lua | 88 ------------ Mirror/src/EditorLayer.cpp | 2 +- README.md | 8 +- Sandbox/build.lua | 88 ------------ Sandbox/default_gui_layout.ini | 13 -- Sandbox/res/Textures/awesomeface.png | Bin 76691 -> 0 bytes Sandbox/src/SandboxApp.cpp | 39 ------ Sandbox/src/SandboxLayer.h | 81 ----------- 16 files changed, 9 insertions(+), 504 deletions(-) delete mode 100644 Dependencies/GLAD/build.lua delete mode 160000 Dependencies/glslang delete mode 160000 Dependencies/shaderc delete mode 160000 Dependencies/spirv-headers delete mode 100644 Engine/build.lua delete mode 100644 Mirror/build.lua delete mode 100644 Sandbox/build.lua delete mode 100644 Sandbox/default_gui_layout.ini delete mode 100644 Sandbox/res/Textures/awesomeface.png delete mode 100644 Sandbox/src/SandboxApp.cpp delete mode 100644 Sandbox/src/SandboxLayer.h diff --git a/Dependencies/GLAD/build.lua b/Dependencies/GLAD/build.lua deleted file mode 100644 index 9cda096..0000000 --- a/Dependencies/GLAD/build.lua +++ /dev/null @@ -1,55 +0,0 @@ -project "GLAD" - - -- Output Directories -- - location "%{wks.location}/Dependencies/GLAD" - - targetdir (target_dir) - objdir (object_dir) - - -- Compiler -- - kind "StaticLib" - language "C" - - -- Project Files --- - files - { - "src/glad.c", - "include/glad/glad.h", - "include/KHR/khrplatform.h", - - "%{prj.location}/build.lua", - } - - -- Includes -- - includedirs - { - "%{prj.location}/include/" - } - - --- Filters --- - -- windows - filter "system:windows" - systemversion "latest" - staticruntime "On" - - defines - { - "_CRT_SECURE_NO_WARNINGS", - } - - flags { "MultiProcessorCompile" } - - -- debug - filter "configurations:Debug" - runtime "Debug" - symbols "on" - - -- release - filter "configurations:Release" - runtime "Release" - optimize "on" - - -- distribution - filter "configurations:Distribution" - runtime "Release" - optimize "full" diff --git a/Dependencies/glslang b/Dependencies/glslang deleted file mode 160000 index 36b8d3a..0000000 --- a/Dependencies/glslang +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 36b8d3a8aa988f6b80185c3368514c1048544152 diff --git a/Dependencies/shaderc b/Dependencies/shaderc deleted file mode 160000 index 80f6716..0000000 --- a/Dependencies/shaderc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 80f6716cf5f3708066fd43134e892bfdeaeb5ff1 diff --git a/Dependencies/spirv-headers b/Dependencies/spirv-headers deleted file mode 160000 index 449bc98..0000000 --- a/Dependencies/spirv-headers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 449bc986ba6f4c5e10e32828783f9daef2a77644 diff --git a/Engine/CMakeLists.txt b/Engine/CMakeLists.txt index 5d815be..5d8e1b9 100644 --- a/Engine/CMakeLists.txt +++ b/Engine/CMakeLists.txt @@ -60,4 +60,4 @@ if(WIN32) target_link_libraries(Engine D3DCompiler) endif() -message("______________________________________________________________________") +message("______________________________________________________________________") \ No newline at end of file diff --git a/Engine/build.lua b/Engine/build.lua deleted file mode 100644 index d1a5dec..0000000 --- a/Engine/build.lua +++ /dev/null @@ -1,128 +0,0 @@ -project "Engine" - - -- Output Directories -- - location "%{wks.location}/Engine/" - - targetdir (target_dir) - objdir (object_dir) - - -- Compiler -- - kind "StaticLib" - language "C++" - cppdialect "C++17" - - pchsource "src/Engine/ltpch.cpp" - pchheader "ltpch.h" - - -- Project Files -- - files - { - -- src - "%{prj.location}/src/**.h", - "%{prj.location}/src/**.cpp", - - -- res - "%{prj.location}/res/**", - - -- build.lua - "%{prj.location}/build.lua", - } - - -- Includes -- - includedirs - { - -- engine - "%{include_dirs.engine}", - "%{include_dirs.engine_platform_graphics}", - "%{include_dirs.engine_platform_os}", - - -- 3rd party - "%{include_dirs.entt}", - "%{include_dirs.glad}", - "%{include_dirs.glfw}", - "%{include_dirs.glm}", - "%{include_dirs.imgui}", - "%{include_dirs.imgui_backends}", - "%{include_dirs.spdlog}", - "%{include_dirs.stb_image}", - "%{include_dirs.volk}", - "%{include_dirs.shaderc}", - - "%{include_dirs.vulkan_sdk}", - } - - -- Libraries -- - libdirs - { - "%{lib_dirs.vulkan_sdk}", - } - - -- Links -- - links - { - "GLFW", - "GLAD", - "ImGui", - "stb_image", - "entt", - "shaderc", - - "%{libs.spirv_cross}", - } - - --- Filters --- - -- windows - filter "system:windows" - defines "LIGHT_PLATFORM_WINDOWS" - systemversion "latest" - staticruntime "on" - - links - { - "d3d11.lib", - "dxguid.lib", - "D3DCompiler.lib", - } - - flags { "MultiProcessorCompile" } - - filter { "system:windows", "files:src/Platform/OS/Linux/**.**" } - flags { "ExcludeFromBuild" } - - -- linux - filter "system:linux" - defines "LIGHT_PLATFORM_LINUX" - links - { - "dl", - } - - buildoptions - { - "-lgtest", - "-lpthread", - } - - filter { "system:linux", "files:src/Platform/GraphicsAPI/DirectX/**.**" } - flags { "ExcludeFromBuild" } - filter { "system:linux", "files:src/Platform/OS/Windows/**.**" } - flags "ExcludeFromBuild" - - -- debug - filter "configurations:Debug" - defines "LIGHT_DEBUG" - symbols "on" - - -- release - filter "configurations:Release" - defines "LIGHT_RELEASE" - optimize "on" - - -- distribution - filter "configurations:Distribution" - defines "LIGHT_DIST" - optimize "full" - - filter { "files:**.hlsl" } - flags "ExcludeFromBuild" - shadermodel "4.0" \ No newline at end of file diff --git a/Engine/src/Engine/Core/Application.cpp b/Engine/src/Engine/Core/Application.cpp index 1e83195..b69ed00 100644 --- a/Engine/src/Engine/Core/Application.cpp +++ b/Engine/src/Engine/Core/Application.cpp @@ -66,7 +66,6 @@ namespace Light { { // update layers LT_PROFILE_SCOPE("GameLoop::Update"); - LT_PROFILE_SCOPE("GameLoop::Updated"); for (auto it = m_LayerStack->begin(); it != m_LayerStack->end(); it++) (*it)->OnUpdate(deltaTimer.GetDeltaTime()); diff --git a/Engine/src/Engine/Graphics/RendererPrograms/QuadRendererProgram.cpp b/Engine/src/Engine/Graphics/RendererPrograms/QuadRendererProgram.cpp index 6cc8b81..84814dd 100644 --- a/Engine/src/Engine/Graphics/RendererPrograms/QuadRendererProgram.cpp +++ b/Engine/src/Engine/Graphics/RendererPrograms/QuadRendererProgram.cpp @@ -32,13 +32,14 @@ namespace Light { bool QuadRendererProgram::Advance() { - if (m_MapCurrent + 4 >= m_MapEnd) + m_MapCurrent += 4; + + if (m_MapCurrent >= m_MapEnd) { LT_ENGINE_WARN("QuadRendererProgram::Advance: 'VertexBuffer' map went beyond 'MaxVertices': {}", m_MaxVertices); return false; } - m_MapCurrent += 4; m_QuadCount++; return true; } diff --git a/Mirror/build.lua b/Mirror/build.lua deleted file mode 100644 index 1a9f646..0000000 --- a/Mirror/build.lua +++ /dev/null @@ -1,88 +0,0 @@ -project "Mirror" - - -- Output Directories -- - location "%{wks.location}/Mirror/" - - targetdir (target_dir) - objdir (object_dir) - - -- Compiler -- - kind "ConsoleApp" - language "C++" - cppdialect "C++17" - - -- Project Files --- - files - { - -- src - "%{prj.location}/src/**.h", - "%{prj.location}/src/**.cpp", - - -- res - "%{prj.location}/res/**", - - -- build.lua - "%{prj.location}/build.lua", - } - - -- Includes -- - includedirs - { - -- engine - "%{include_dirs.engine}", - "%{include_dirs.engine_platform_graphics}", - "%{include_dirs.engine_platform_os}", - - -- 3rd party - "%{include_dirs.entt}", - "%{include_dirs.glm}", - "%{include_dirs.imgui}", - "%{include_dirs.imgui_backends}", - "%{include_dirs.spdlog}", - "%{include_dirs.stb_image}", - } - - -- Links -- - links - { - "Engine", - "GLFW", - "GLAD", - "ImGui", - "stb_image" , - "entt", - } - - --- Filters --- - -- windows - filter "system:windows" - defines "LIGHT_PLATFORM_WINDOWS" - systemversion "latest" - staticruntime "On" - - flags { "MultiProcessorCompile" } - - -- linux - filter "system:linux" - defines "LIGHT_PLATFORM_LINUX" - - links - { - "dl", - "pthread", - } - - -- debug - filter "configurations:Debug" - defines "LIGHT_DEBUG" - symbols "on" - - -- release - filter "configurations:Release" - defines "LIGHT_RELEASE" - optimize "on" - - -- distribution - filter "configurations:Distribution" - defines "LIGHT_DIST" - optimize "full" \ No newline at end of file diff --git a/Mirror/src/EditorLayer.cpp b/Mirror/src/EditorLayer.cpp index e90256f..a3eba51 100644 --- a/Mirror/src/EditorLayer.cpp +++ b/Mirror/src/EditorLayer.cpp @@ -9,6 +9,7 @@ namespace Light { m_PropertiesPanel = CreateRef(); m_SceneHierarchyPanel = CreateRef(m_Scene, m_PropertiesPanel); + SummonAwesomeness(); m_Framebuffer = Framebuffer::Create({ 1, 1, 1 }, GraphicsContext::GetSharedContext()); @@ -26,7 +27,6 @@ namespace Light { m_Direction.x = Input::GetKeyboardKey(Key::A) ? -1.0f : Input::GetKeyboardKey(Key::D) ? 1.0f : 0.0f; - m_Direction.y = Input::GetKeyboardKey(Key::S) ? -1.0f : Input::GetKeyboardKey(Key::W) ? 1.0f : 0.0f; diff --git a/README.md b/README.md index 759e70c..ef149b9 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,11 @@ Will support: * Mac ## Getting Started -1. Run `git clone --recurse-submodules -j4 https://github.com/Light3039/Light` +1. `git clone --recurse-submodules -j4 https://github.com/Light3039/Light ` * (If you cloned non-recursively run `git submodule update --init`) -2. Open BuildScripts folder and build the project -3. Use the Mirror project (Demo project will be added in the future) - +2. `cd /CMake` +3. `cmake ..` +4. Build and run the Mirror project ## Acknowledgments Huge thanks to these people: diff --git a/Sandbox/build.lua b/Sandbox/build.lua deleted file mode 100644 index c954f80..0000000 --- a/Sandbox/build.lua +++ /dev/null @@ -1,88 +0,0 @@ -project "Sandbox" - - -- Output Directories -- - location "%{wks.location}/Sandbox/" - - targetdir (target_dir) - objdir (object_dir) - - -- Compiler -- - kind "ConsoleApp" - language "C++" - cppdialect "C++17" - - -- Project Files --- - files - { - -- src - "%{prj.location}/src/**.h", - "%{prj.location}/src/**.cpp", - - -- res - "%{prj.location}/res/**", - - -- build.lua - "%{prj.location}/build.lua", - } - - -- Includes -- - includedirs - { - -- engine - "%{include_dirs.engine}", - "%{include_dirs.engine_platform_graphics}", - "%{include_dirs.engine_platform_os}", - - -- 3rd party - "%{include_dirs.entt}", - "%{include_dirs.glm}", - "%{include_dirs.imgui}", - "%{include_dirs.imgui_backends}", - "%{include_dirs.spdlog}", - "%{include_dirs.stb_image}", - } - - -- Links -- - links - { - "Engine", - "GLFW", - "GLAD", - "ImGui", - "stb_image" , - "entt", - } - - --- Filters --- - -- windows - filter "system:windows" - defines "LIGHT_PLATFORM_WINDOWS" - systemversion "latest" - staticruntime "On" - - flags { "MultiProcessorCompile" } - - -- linux - filter "system:linux" - defines "LIGHT_PLATFORM_LINUX" - - links - { - "dl", - "pthread", - } - - -- debug - filter "configurations:Debug" - defines "LIGHT_DEBUG" - symbols "on" - - -- release - filter "configurations:Release" - defines "LIGHT_RELEASE" - optimize "on" - - -- distribution - filter "configurations:Distribution" - defines "LIGHT_DIST" - optimize "full" \ No newline at end of file diff --git a/Sandbox/default_gui_layout.ini b/Sandbox/default_gui_layout.ini deleted file mode 100644 index ee99ff8..0000000 --- a/Sandbox/default_gui_layout.ini +++ /dev/null @@ -1,13 +0,0 @@ -[Window][Debug##Default] -Pos=60,60 -Size=400,400 -Collapsed=0 - -[Window][Dear ImGui Demo] -ViewportPos=259,212 -ViewportId=0xE927CF2F -Size=388,391 -Collapsed=0 - -[Docking][Data] - diff --git a/Sandbox/res/Textures/awesomeface.png b/Sandbox/res/Textures/awesomeface.png deleted file mode 100644 index 58daba04f1f35d41821194d972b510cbbb86278d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76691 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≈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 diff --git a/Sandbox/src/SandboxApp.cpp b/Sandbox/src/SandboxApp.cpp deleted file mode 100644 index b057cb4..0000000 --- a/Sandbox/src/SandboxApp.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#define LIGHT_ENTRY_POINT -#include - -#include "SandboxLayer.h" - -class Sandbox : public Light::Application -{ -private: - SandboxLayer* m_SandboxLayer; - -public: - Sandbox() - { - LT_CLIENT_TRACE("Sandbox::Sandbox"); - - // Set window properties - Light::WindowProperties properties; - properties.title = "Sandbox"; - properties.size = glm::uvec2(800u, 600u); - properties.vsync = true; - - m_Window->SetProperties(properties); - - // Attach the sandbox layer - m_SandboxLayer = new SandboxLayer("SandboxLayer"); - Light::LayerStack::AttachLayer(m_SandboxLayer); - } - - ~Sandbox() - { - LT_CLIENT_TRACE("Sandbox::~Sandbox"); - } -}; - -Light::Application* Light::CreateApplication() -{ - // note: don't use the logger here, it is not initialized yet - return new Sandbox(); -} \ No newline at end of file diff --git a/Sandbox/src/SandboxLayer.h b/Sandbox/src/SandboxLayer.h deleted file mode 100644 index ea95622..0000000 --- a/Sandbox/src/SandboxLayer.h +++ /dev/null @@ -1,81 +0,0 @@ -#include - -class SandboxLayer : public Light::Layer -{ -private: - // scene - Light::Scope m_SandboxScene; - - // camera - Light::Ref m_Camera; - glm::vec2 m_Direction = { 0.0f, 0.0f }; - float m_Speed = 1.2f; - -public: - SandboxLayer(const std::string& name) - : Light::Layer(name) - { - // initialize scene & camera - m_SandboxScene = Light::CreateScope(); - m_Camera = Light::CreateRef(glm::vec2(0.0f), 800.0f / 600.0f, 1.0f); - - // initialize test quads - Light::ResourceManager::LoadTexture("awesomeface", "res/Textures/awesomeface.png"); - Light::Ref awesomeface = Light::ResourceManager::GetTexture("awesomeface"); - - for (int i = 0; i < 100; i++) - { - glm::vec3 position = glm::vec3(-1.0f + (-100.0f / 400.0f) + ((rand() % 1000) / 400.0f), -1.0f + (-100.0f / 300.0f) + ((rand() % 800) / 300.0f), 0.0f); - glm::vec2 size = glm::vec2(100 / 400.0f, 100 / 300.0f); - - m_SandboxScene->CreateEntity("awesomeface" + i, position, size).AddComponent(awesomeface); - } - } - - void OnRender() override - { - Light::Renderer::BeginScene(m_Camera); - m_SandboxScene->OnRender(); - Light::Renderer::EndScene(); - } - - bool OnKeyPressed(const Light::KeyPressedEvent& event) override - { - if (event.GetKey() == Light::Key::A) - m_Direction.x += -1.0f; - if(event.GetKey() == Light::Key::D) - m_Direction.x += 1.0f; - - if (event.GetKey() == Light::Key::W) - m_Direction.y += 1.0f; - if (event.GetKey() == Light::Key::S) - m_Direction.y += -1.0f; - - return true; - } - - bool OnKeyReleased(const Light::KeyReleasedEvent& event) override - { - // #todo: add input class - if (event.GetKey() == Light::Key::A) - m_Direction.x -= -1.0f; - if (event.GetKey() == Light::Key::D) - m_Direction.x -= 1.0f; - - if (event.GetKey() == Light::Key::W) - m_Direction.y -= 1.0f; - if (event.GetKey() == Light::Key::S) - m_Direction.y -= -1.0f; - - return true; - } - - void OnUpdate(float deltaTime) override - { - m_Camera->Move(m_Direction * m_Speed * deltaTime); - - m_Camera->CalculateProjection(); - m_Camera->CalculateView(); - } - -};