From 2c75e415807b152ea21ceac42165088de43b2512 Mon Sep 17 00:00:00 2001 From: Mathew Benson Date: Mon, 30 Jun 2025 16:04:28 +0300 Subject: [PATCH] Code Restructure To Enable Linux & MacOS Builds, Reduce Disk Usage and Help Readability Closes #354 Closes #355 - Move from github-submodule structure to use CMake's native dependency management facilities. (https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html). Ideally the dependencies are to be installed using native mechanisms like vcpkg on windows, the linux distribution package manager or homebrew for mac. CMake will find the installed versions as a first option but build the dependencies if not available in the Build Directory at Build time. The linux_build code action is an example of this working in linux. - Restructure The #include statements to indicate the project source, this prevents confusion and is easier to read at the source file. It is also a consistent way to describe the included header and to reason about the include structure. This also is to pave the way to converting to modules. - Explicit Code file declaration in CMake as opposed to File Globbing which is only run once during build system generation. When creating a new file, it is suggested to specify it in the CMake File which will enhance tracking and ensure that it is picked up at build time due to changes in the CMake Files. - Changed Bitmap.h to utf-8 from iso-8859 - Changed from MSVC style of pre-compiled headers, just using plain header includes for portability. Another benefit is storage savings as the pch file was taking up too much space(in my experience) - Changed CI workflow to remove separate test job and instead do the testing within the same instance that does the build - Also removed the clang-format CI step as a dependency of the other build systems. This was to first ensure successful building and testing on the various platforms. should likely be incorporated into the individual system build steps --- .clang-format | 2 +- .github/workflows/Engine-CI.yml | 13 +- .github/workflows/job-clangformat.yml | 5 +- .github/workflows/job-cmakebuild-linux.yml | 31 +++ .github/workflows/job-cmakebuild-macOS.yml | 21 +- .github/workflows/job-cmakebuild-windows.yml | 34 +-- .github/workflows/job-test-macOS.yml | 2 +- .github/workflows/job-test-windows.yml | 11 - .github/workflows/linux-build.yml | 57 +--- .github/workflows/macOS-build.yml | 21 -- .github/workflows/windows-build.yml | 15 -- .gitmodules | 69 ----- CMakeLists.txt | 150 +++++------ Scripts/BuildEngine.ps1 | 87 +------ Scripts/ClangFormat.ps1 | 6 +- Scripts/RunTests.ps1 | 6 +- Scripts/Shared.ps1 | 9 +- Tetragrama/CMakeLists.txt | 72 +++--- Tetragrama/Components/AboutUIComponent.h | 2 +- Tetragrama/Components/DemoUIComponent.h | 2 +- .../Components/DockspaceUIComponent.cpp | 21 +- Tetragrama/Components/DockspaceUIComponent.h | 8 +- .../Events/SceneTextureAvailableEvent.h | 2 +- .../Events/SceneViewportFocusedEvent.h | 2 +- .../Events/SceneViewportResizedEvent.h | 2 +- .../Events/SceneViewportUnfocusedEvent.h | 2 +- .../Components/HierarchyViewUIComponent.cpp | 17 +- .../Components/HierarchyViewUIComponent.h | 10 +- .../Components/InspectorViewUIComponent.cpp | 7 +- .../Components/InspectorViewUIComponent.h | 4 +- Tetragrama/Components/LogUIComponent.cpp | 7 +- Tetragrama/Components/LogUIComponent.h | 2 +- .../Components/ProjectViewUIComponent.cpp | 8 +- .../Components/ProjectViewUIComponent.h | 3 +- .../Components/SceneViewportUIComponent.cpp | 13 +- .../Components/SceneViewportUIComponent.h | 10 +- Tetragrama/Components/UIComponent.h | 2 +- .../Controllers/EditorCameraController.cpp | 2 +- .../Controllers/EditorCameraController.h | 3 +- Tetragrama/Controllers/ICameraController.h | 4 +- .../PerspectiveCameraController.cpp | 11 +- .../Controllers/PerspectiveCameraController.h | 2 +- Tetragrama/Editor.cpp | 8 +- Tetragrama/Editor.h | 12 +- Tetragrama/EditorScene.cpp | 7 +- Tetragrama/EditorScene.h | 8 +- Tetragrama/EditorWindow.cpp | 3 +- Tetragrama/EditorWindow.h | 1 - Tetragrama/EntryPoint.cpp | 5 +- Tetragrama/Helpers/SearchPatternAlgorithm.cpp | 5 +- Tetragrama/Helpers/SerializerCommonHelper.cpp | 5 +- Tetragrama/Helpers/SerializerCommonHelper.h | 4 +- .../Helpers/UIComponentDrawerHelper.cpp | 3 +- Tetragrama/Helpers/UIComponentDrawerHelper.h | 2 +- Tetragrama/Importers/AssetTypes.h | 2 +- Tetragrama/Importers/AssimpImporter.cpp | 14 +- Tetragrama/Importers/AssimpImporter.h | 6 +- Tetragrama/Importers/IAssetImporter.cpp | 8 +- Tetragrama/Importers/IAssetImporter.h | 8 +- Tetragrama/Layers/ImguiLayer.cpp | 25 +- Tetragrama/Layers/ImguiLayer.h | 4 +- Tetragrama/Layers/RenderLayer.cpp | 9 +- Tetragrama/Layers/RenderLayer.h | 15 +- Tetragrama/Managers/AssetManager.cpp | 5 +- Tetragrama/Managers/AssetManager.h | 6 +- Tetragrama/Messengers/Message.h | 2 +- Tetragrama/Messengers/Messenger.h | 78 +++--- .../Serializers/EditorSceneSerializer.cpp | 10 +- .../Serializers/EditorSceneSerializer.h | 8 +- Tetragrama/Serializers/Serializer.h | 5 +- Tetragrama/pch.cpp | 1 - Tetragrama/pch.h | 17 -- ZEngine/CMakeLists.txt | 158 ++++++++++-- ZEngine/ZEngine/CMakeLists.txt | 82 ------ ZEngine/ZEngine/Core/Containers/Array.h | 7 +- ZEngine/ZEngine/Core/Containers/HashMap.h | 8 +- .../ZEngine/Core/Containers/InitializerList.h | 4 +- ZEngine/ZEngine/Core/Containers/Strings.h | 6 +- ZEngine/ZEngine/Core/CoreEvent.h | 2 +- ZEngine/ZEngine/Core/Coroutine.h | 2 +- ZEngine/ZEngine/Core/CoroutineScheduler.cpp | 4 +- ZEngine/ZEngine/Core/CoroutineScheduler.h | 8 +- ZEngine/ZEngine/Core/EventDispatcher.h | 4 +- ZEngine/ZEngine/Core/IEventable.h | 2 +- ZEngine/ZEngine/Core/IPipeline.h | 2 +- ZEngine/ZEngine/Core/IPipelineContext.cpp | 2 +- ZEngine/ZEngine/Core/IPipelineStage.cpp | 2 +- ZEngine/ZEngine/Core/IRenderable.h | 2 +- ZEngine/ZEngine/Core/ISerializer.h | 2 +- ZEngine/ZEngine/Core/IUpdatable.h | 2 +- ZEngine/ZEngine/Core/Maths/Matrix.h | 4 +- ZEngine/ZEngine/Core/Maths/Vec.h | 4 +- ZEngine/ZEngine/Core/Memory/Allocator.cpp | 7 +- ZEngine/ZEngine/Core/Memory/Allocator.h | 2 +- ZEngine/ZEngine/Core/Memory/MemoryManager.h | 10 +- ZEngine/ZEngine/Engine.cpp | 9 +- ZEngine/ZEngine/Engine.h | 8 +- ZEngine/ZEngine/EngineConfiguration.h | 4 +- ZEngine/ZEngine/Event/EngineClosedEvent.h | 2 +- ZEngine/ZEngine/Hardwares/VulkanDevice.cpp | 82 +++--- ZEngine/ZEngine/Hardwares/VulkanDevice.h | 39 +-- ZEngine/ZEngine/Hardwares/VulkanLayer.cpp | 7 +- ZEngine/ZEngine/Hardwares/VulkanLayer.h | 6 +- ZEngine/ZEngine/Helpers/HandleManager.h | 10 +- ZEngine/ZEngine/Helpers/Helper.cpp | 13 +- ZEngine/ZEngine/Helpers/MemoryOperations.h | 2 +- ZEngine/ZEngine/Helpers/MeshHelper.h | 2 +- ZEngine/ZEngine/Helpers/ThreadPool.cpp | 5 +- ZEngine/ZEngine/Helpers/ThreadPool.h | 6 +- ZEngine/ZEngine/Helpers/ThreadSafeQueue.h | 2 +- ZEngine/ZEngine/Logging/Logger.cpp | 27 +- ZEngine/ZEngine/Logging/Logger.h | 2 +- ZEngine/ZEngine/Logging/LoggerDefinition.h | 2 +- ZEngine/ZEngine/Maths/Math.cpp | 7 +- ZEngine/ZEngine/Rendering/Buffers/Bitmap.h | 9 +- .../ZEngine/Rendering/Buffers/BufferLayout.h | 1 + .../ZEngine/Rendering/Buffers/FrameBuffer.cpp | 5 +- .../ZEngine/Rendering/Buffers/Framebuffer.h | 2 +- .../ZEngine/Rendering/Buffers/PixelBuffer.h | 8 +- ZEngine/ZEngine/Rendering/Cameras/Camera.h | 4 +- .../Rendering/Cameras/PerspectiveCamera.cpp | 4 +- .../Rendering/Cameras/PerspectiveCamera.h | 2 +- .../Rendering/Components/CameraComponent.h | 2 +- .../Rendering/Components/GeometryComponent.h | 2 +- .../Rendering/Components/LightComponent.h | 2 +- .../Rendering/Components/MaterialComponent.h | 2 +- .../Rendering/Components/TransformComponent.h | 2 +- .../Rendering/Entities/GraphicSceneEntity.cpp | 3 +- .../Rendering/Entities/GraphicSceneEntity.h | 4 +- .../Rendering/Geometries/CubeGeometry.cpp | 3 +- .../Rendering/Geometries/CubeGeometry.h | 2 +- .../ZEngine/Rendering/Geometries/IGeometry.h | 8 +- .../Rendering/Geometries/QuadGeometry.cpp | 3 +- .../Rendering/Geometries/QuadGeometry.h | 2 +- .../Rendering/Geometries/SquareGeometry.cpp | 3 +- .../Rendering/Geometries/SquareGeometry.h | 2 +- ZEngine/ZEngine/Rendering/Lights/Light.h | 6 +- .../Rendering/Materials/BasicMaterial.cpp | 3 +- .../Rendering/Materials/BasicMaterial.h | 2 +- .../ZEngine/Rendering/Materials/IMaterial.h | 6 +- .../Rendering/Materials/ShaderMaterial.cpp | 3 +- .../Rendering/Materials/ShaderMaterial.h | 4 +- .../Rendering/Materials/StandardMaterial.cpp | 3 +- .../Rendering/Materials/StandardMaterial.h | 6 +- ZEngine/ZEngine/Rendering/Meshes/Mesh.h | 4 +- .../ZEngine/Rendering/Meshes/MeshBuilder.cpp | 12 +- .../ZEngine/Rendering/Meshes/MeshBuilder.h | 8 +- ZEngine/ZEngine/Rendering/Meshes/MeshLight.h | 6 +- .../ZEngine/Rendering/Pools/CommandPool.cpp | 9 +- ZEngine/ZEngine/Rendering/Pools/CommandPool.h | 6 +- .../ZEngine/Rendering/Primitives/Fence.cpp | 5 +- ZEngine/ZEngine/Rendering/Primitives/Fence.h | 4 +- .../Primitives/ImageMemoryBarrier.cpp | 4 +- .../Rendering/Primitives/ImageMemoryBarrier.h | 4 +- .../Rendering/Primitives/Semaphore.cpp | 7 +- .../ZEngine/Rendering/Primitives/Semaphore.h | 4 +- .../Rendering/Renderers/GraphicRenderer.cpp | 22 +- .../Rendering/Renderers/GraphicRenderer.h | 19 +- .../Renderers/GraphicRendererInformation.h | 2 +- .../Rendering/Renderers/ImGUIRenderer.cpp | 18 +- .../Rendering/Renderers/ImGUIRenderer.h | 6 +- .../GraphicRendererPipelineInformation.h | 10 +- .../Pipelines/IGraphicRendererPipelineStage.h | 4 +- .../Renderers/Pipelines/RendererPipeline.cpp | 8 +- .../Renderers/Pipelines/RendererPipeline.h | 10 +- .../Rendering/Renderers/RenderGraph.cpp | 5 +- .../ZEngine/Rendering/Renderers/RenderGraph.h | 22 +- .../Renderers/RenderPasses/Attachment.cpp | 10 +- .../Renderers/RenderPasses/Attachment.h | 6 +- .../Renderers/RenderPasses/RenderPass.cpp | 8 +- .../Renderers/RenderPasses/RenderPass.h | 14 +- .../Rendering/Renderers/RendererPasses.cpp | 7 +- .../Rendering/Renderers/RendererPasses.h | 12 +- .../Renderers/Storages/GraphicVertex.cpp | 3 +- .../Renderers/Storages/GraphicVertex.h | 4 +- .../ZEngine/Rendering/Scenes/GraphicScene.cpp | 19 +- .../ZEngine/Rendering/Scenes/GraphicScene.h | 14 +- .../Shaders/Compilers/CompilationStage.cpp | 10 +- .../Shaders/Compilers/CompilationStage.h | 4 +- .../Shaders/Compilers/ICompilerStage.h | 4 +- .../Shaders/Compilers/ShaderCompiler.cpp | 9 +- .../Shaders/Compilers/ShaderCompiler.h | 6 +- .../Shaders/Compilers/ShaderFileGenerator.cpp | 9 +- .../Shaders/Compilers/ShaderFileGenerator.h | 2 +- .../Shaders/Compilers/ValidationStage.cpp | 11 +- .../Shaders/Compilers/ValidationStage.h | 4 +- ZEngine/ZEngine/Rendering/Shaders/Shader.cpp | 27 +- ZEngine/ZEngine/Rendering/Shaders/Shader.h | 16 +- .../Rendering/Shaders/ShaderIncluder.h | 6 +- .../Rendering/Shaders/ShaderInformation.h | 2 +- .../Rendering/Shaders/ShaderReader.cpp | 27 +- .../ZEngine/Rendering/Shaders/ShaderReader.h | 7 +- .../Specifications/AttachmentSpecification.h | 6 +- .../Specifications/FormatSpecification.h | 4 +- .../Specifications/FrameBufferSpecification.h | 6 +- .../GraphicRendererPipelineSpecification.h | 12 +- .../ImageMemoryBarrierSpecification.h | 4 +- .../Specifications/RenderPassSpecification.h | 10 +- .../Specifications/ShaderSpecification.h | 17 +- .../Specifications/TextureSpecification.h | 10 +- .../ZEngine/Rendering/Textures/Texture.cpp | 7 +- ZEngine/ZEngine/Rendering/Textures/Texture.h | 8 +- .../ZEngine/Rendering/Textures/Texture2D.cpp | 17 +- .../ZEngine/Rendering/Textures/Texture2D.h | 2 +- .../Serializers/GraphicScene3DSerializer.cpp | 33 +-- .../Serializers/GraphicScene3DSerializer.h | 8 +- .../Serializers/GraphicSceneSerializer.h | 8 +- ZEngine/ZEngine/Windows/CoreWindow.cpp | 3 +- ZEngine/ZEngine/Windows/CoreWindow.h | 35 ++- ZEngine/ZEngine/Windows/Events/KeyEvent.h | 10 +- ZEngine/ZEngine/Windows/Events/MouseEvent.h | 12 +- .../ZEngine/Windows/Events/TextInputEvent.h | 2 +- ZEngine/ZEngine/Windows/Events/WindowEvent.h | 2 +- ZEngine/ZEngine/Windows/Inputs/IDevice.cpp | 3 +- ZEngine/ZEngine/Windows/Inputs/IDevice.h | 7 +- .../Windows/Inputs/IInputEventCallback.h | 8 +- .../Windows/Inputs/KeyCodeDefinition.h | 4 +- ZEngine/ZEngine/Windows/Layers/Layer.h | 10 +- ZEngine/ZEngine/Windows/WindowConfiguration.h | 6 +- ZEngine/ZEngine/Windows/WindowProperty.h | 4 +- ZEngine/ZEngine/ZEngineDef.h | 9 +- ZEngine/ZEngine/pch.cpp | 1 - ZEngine/ZEngine/pch.h | 19 -- ZEngine/tests/CMakeLists.txt | 24 +- ZEngine/tests/Containers/array_test.cpp | 4 +- ZEngine/tests/Containers/hashmap_test.cpp | 7 +- .../tests/Containers/initializerlist_test.cpp | 6 +- ZEngine/tests/Containers/string_test.cpp | 2 +- ZEngine/tests/Maths/Matrix_test.cpp | 2 +- ZEngine/tests/Maths/Vector_test.cpp | 4 +- ZEngine/tests/Memory/IntrusivePtr_test.cpp | 4 +- .../tests/Memory/IntrusiveWeakPtr_test.cpp | 4 +- ZEngine/tests/Memory/MemoryOperation_test.cpp | 2 +- ZEngine/tests/Memory/allocator_test.cpp | 16 +- ZEngine/tests/Memory/bitmap_test.cpp | 8 +- ZEngine/tests/Memory/handleManager_test.cpp | 12 +- ZEngine/tests/Misc/ThreadPool_test.cpp | 2 +- ZEngine/tests/Misc/shaderCompiler_test.cpp | 3 +- __externals/CLI11 | 1 - __externals/ImGuizmo | 1 - __externals/SPIRV-Cross | 1 - __externals/SPIRV-Tools | 1 - __externals/SPIRV-headers | 1 - __externals/Vulkan-Headers | 1 - __externals/Vulkan-Loader | 1 - __externals/VulkanMemoryAllocator | 1 - __externals/assimp | 1 - __externals/entt | 1 - __externals/externals.cmake | 60 ----- __externals/fmt | 1 - __externals/glfw | 1 - __externals/glm | 1 - __externals/glslang | 1 - __externals/gtest | 1 - __externals/imgui/CMakeLists.txt | 29 --- __externals/imgui/src | 1 - __externals/nlohmann_json | 1 - __externals/rapidhash/CMakeLists.txt | 11 - __externals/rapidhash/src | 1 - __externals/spdlog | 1 - __externals/stb | 1 - __externals/stduuid | 1 - __externals/tlsf/CMakeLists.txt | 18 -- __externals/tlsf/src | 1 - __externals/yaml-cpp | 1 - dependencies.cmake | 20 -- externals.cmake | 244 ++++++++++++++++++ 267 files changed, 1366 insertions(+), 1578 deletions(-) create mode 100644 .github/workflows/job-cmakebuild-linux.yml delete mode 100644 Tetragrama/pch.cpp delete mode 100644 Tetragrama/pch.h delete mode 100644 ZEngine/ZEngine/CMakeLists.txt mode change 100644 => 100755 ZEngine/ZEngine/Rendering/Buffers/Bitmap.h delete mode 100644 ZEngine/ZEngine/pch.cpp delete mode 100644 ZEngine/ZEngine/pch.h delete mode 160000 __externals/CLI11 delete mode 160000 __externals/ImGuizmo delete mode 160000 __externals/SPIRV-Cross delete mode 160000 __externals/SPIRV-Tools delete mode 160000 __externals/SPIRV-headers delete mode 160000 __externals/Vulkan-Headers delete mode 160000 __externals/Vulkan-Loader delete mode 160000 __externals/VulkanMemoryAllocator delete mode 160000 __externals/assimp delete mode 160000 __externals/entt delete mode 100644 __externals/externals.cmake delete mode 160000 __externals/fmt delete mode 160000 __externals/glfw delete mode 160000 __externals/glm delete mode 160000 __externals/glslang delete mode 160000 __externals/gtest delete mode 100644 __externals/imgui/CMakeLists.txt delete mode 160000 __externals/imgui/src delete mode 160000 __externals/nlohmann_json delete mode 100644 __externals/rapidhash/CMakeLists.txt delete mode 160000 __externals/rapidhash/src delete mode 160000 __externals/spdlog delete mode 160000 __externals/stb delete mode 160000 __externals/stduuid delete mode 100644 __externals/tlsf/CMakeLists.txt delete mode 160000 __externals/tlsf/src delete mode 160000 __externals/yaml-cpp delete mode 100644 dependencies.cmake create mode 100644 externals.cmake diff --git a/.clang-format b/.clang-format index ec20f655..08fae016 100644 --- a/.clang-format +++ b/.clang-format @@ -120,7 +120,7 @@ PenaltyBreakTemplateDeclaration: 100 PenaltyReturnTypeOnItsOwnLine: 300 PointerAlignment: Left ReflowComments: true -SortIncludes: true +SortIncludes: false SortUsingDeclarations: true SpaceAfterCStyleCast: true SpaceAfterLogicalNot: false diff --git a/.github/workflows/Engine-CI.yml b/.github/workflows/Engine-CI.yml index 0951a413..a6ffa202 100644 --- a/.github/workflows/Engine-CI.yml +++ b/.github/workflows/Engine-CI.yml @@ -5,22 +5,15 @@ on: branches: [ master, develop, arena-integration ] jobs: - clang-format: - strategy: - matrix: - directories: [ZEngine, Tetragrama] - uses: ./.github/workflows/job-clangformat.yml - with: - srcDirectory: ${{ matrix.directories }} - windows: - needs: clang-format uses: ./.github/workflows/windows-build.yml with: targetFramework: net8.0 macOS: - needs: clang-format uses: ./.github/workflows/macOS-build.yml with: targetFramework: net8.0 + + linux: + uses: ./.github/workflows/linux-build.yml diff --git a/.github/workflows/job-clangformat.yml b/.github/workflows/job-clangformat.yml index 52c50f52..b20f45da 100644 --- a/.github/workflows/job-clangformat.yml +++ b/.github/workflows/job-clangformat.yml @@ -2,9 +2,6 @@ name: ZEngine Code Formatting on: workflow_call: - inputs: - srcDirectory: - type: string jobs: format: @@ -15,5 +12,5 @@ jobs: uses: actions/checkout@v4 - name: Checking formatting - run: .\Scripts\ClangFormat.ps1 -SourceDirectory ${{ github.workspace }}/${{ inputs.srcDirectory }} -RunAsCheck 1 + run: .\Scripts\ClangFormat.ps1 -SourceDirectory ${{ github.workspace }} -RunAsCheck 1 shell: pwsh diff --git a/.github/workflows/job-cmakebuild-linux.yml b/.github/workflows/job-cmakebuild-linux.yml new file mode 100644 index 00000000..0e41cc43 --- /dev/null +++ b/.github/workflows/job-cmakebuild-linux.yml @@ -0,0 +1,31 @@ +name: ZEngine Cmake Linux Workflow + +on: + workflow_call: + inputs: + configuration: + type: string + default: 'Debug' + +jobs: + Linux-Build: + name: cmake-build-linux-${{ inputs.configuration }} + runs-on: ubuntu-24.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Powershell Repository + run: curl -O https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb && sudo dpkg -i packages-microsoft-prod.deb + + - name: Install External Dependencies + run: sudo apt-get update && sudo apt-get install -y git libasound2-dev libgl1-mesa-dev libpulse-dev libdbus-1-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev cmake gcc g++ ninja-build libassimp-dev libfmt-dev libimgui-dev libstb-dev libglfw3-dev libspdlog-dev libglm-dev libyaml-cpp-dev libspirv-cross-c-shared-dev spirv-cross spirv-tools glslang-dev glslang-tools nlohmann-json3-dev dotnet-runtime-8.0 libgtest-dev powershell + + - name: CMake Build + run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}} -RunClangFormat 0 + shell: pwsh + + - name: Run Tests + run: .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }} + shell: pwsh diff --git a/.github/workflows/job-cmakebuild-macOS.yml b/.github/workflows/job-cmakebuild-macOS.yml index 93f0bf70..823b6e2f 100644 --- a/.github/workflows/job-cmakebuild-macOS.yml +++ b/.github/workflows/job-cmakebuild-macOS.yml @@ -23,19 +23,16 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Install Dependencies + run: brew install vulkan-headers vulkan-loader vulkan-tools assimp spirv-headers spirv-tools spirv-cross glslang glfw glew yaml-cpp spdlog googletest + - name: CMake Build run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}} -RunClangFormat 0 shell: pwsh - - name: Publish Build Artifacts - uses: actions/upload-artifact@v4 - with: - name: Build-macOS-${{ inputs.architecture }}-${{inputs.configuration}} - path: | - Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/osx-${{ inputs.architecture }}/publish/ - Result.Darwin.x64.${{inputs.configuration}}/__externals/Vulkan-Loader/loader/${{ inputs.configuration }}/ - Result.Darwin.x64.${{inputs.configuration}}/ZEngine/tests/${{inputs.configuration}}/ - !Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.CSharp.resources.dll - !Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll - !Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.resources.dll - !Result.Darwin.x64.${{inputs.configuration}}/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.Scripting.resources.dll + - name: Update access permission of ZEngineTests + run: chmod +x ./Result.Darwin.x64.${{ inputs.configuration }}/ZEngine/tests/ZEngineTests + + - name: Run Tests + run: .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }} + shell: pwsh diff --git a/.github/workflows/job-cmakebuild-windows.yml b/.github/workflows/job-cmakebuild-windows.yml index 058056de..8422eeb6 100644 --- a/.github/workflows/job-cmakebuild-windows.yml +++ b/.github/workflows/job-cmakebuild-windows.yml @@ -20,29 +20,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Install Vcpkg + run: git clone --depth=1 https://github.com/Microsoft/vcpkg; bootstrap-vcpkg.bat + shell: pwsh + + - name: Install Vulkan + run: vcpkg install vulkan + shell: pwsh + - name: CMake Build - run: .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}} -RunClangFormat 0 + run: $env:CMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"; .\Scripts\BuildEngine.ps1 -Configurations ${{inputs.configuration}} -RunClangFormat 0 shell: pwsh - - name: Publish Build Artifacts - uses: actions/upload-artifact@v4 - with: - name: Build-Windows-x64-${{inputs.configuration}} - path: | - Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/win-x64/publish/ - Result.Windows.x64.MultiConfig/ZEngine/tests/${{inputs.configuration}}/ - !Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.CSharp.resources.dll - !Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll - !Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.resources.dll - !Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/Microsoft.CodeAnalysis.Scripting.resources.dll - !Result.Windows.x64.MultiConfig/Panzerfaust/${{inputs.configuration}}/${{inputs.targetFramework}}/**/createdump.exe + - name: Run Tests + shell: pwsh + run: .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }} - - name: Publish Vulkan Build Artifacts - if: ${{ inputs.configuration == 'Release'}} - uses: actions/upload-artifact@v4 - with: - name: Vulkan-build-x64-release - path: | - Result.Windows.x64.MultiConfig/__externals/Vulkan-Loader/loader/release/vulkan-1.dll - Result.Windows.x64.MultiConfig/__externals/Vulkan-Loader/loader/release/vulkan-1.exp - Result.Windows.x64.MultiConfig/__externals/Vulkan-Loader/loader/release/vulkan-1.lib diff --git a/.github/workflows/job-test-macOS.yml b/.github/workflows/job-test-macOS.yml index 62c22a6d..569582e9 100644 --- a/.github/workflows/job-test-macOS.yml +++ b/.github/workflows/job-test-macOS.yml @@ -27,7 +27,7 @@ jobs: path: Result.Darwin.x64.${{ inputs.configuration }} - name: Update access permission of ZEngineTests - run: chmod +x ./Result.Darwin.x64.${{ inputs.configuration }}/ZEngine/tests/${{ inputs.configuration }}/ZEngineTests + run: chmod +x ./Result.Darwin.x64.${{ inputs.configuration }}/ZEngine/tests/ZEngineTests - name: Run Tests run: .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }} diff --git a/.github/workflows/job-test-windows.yml b/.github/workflows/job-test-windows.yml index a3ba449d..73378526 100644 --- a/.github/workflows/job-test-windows.yml +++ b/.github/workflows/job-test-windows.yml @@ -23,14 +23,3 @@ jobs: path: Result.Windows.x64.MultiConfig name: Build-Windows-x64-${{ inputs.configuration }} - - name: Download Vulkan Artifacts - uses: actions/download-artifact@v4 - with: - path: vulkan-build - name: Vulkan-build-x64-release - - - name: Run Tests - shell: pwsh - run: | - $env:PATH = ".\vulkan-build\;$env:PATH" - .\Scripts\RunTests.ps1 -Configurations ${{ inputs.configuration }} diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index 927ddaa3..ee33c1aa 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -1,59 +1,14 @@ -# @JeanPhilippeKernel : Disabled because we only support Windows as platform for now -# name: ZEngine Linux Build on: - push: - branches: [ master ] - pull_request: - branches: [ master ] + workflow_call: jobs: - Linux-Build: - runs-on: ubuntu-latest + cmake-build: strategy: matrix: - buildConfiguration: [Debug, Release] + buildConfiguration: [Debug, Release] + uses: ./.github/workflows/job-cmakebuild-linux.yml + with: + configuration: ${{matrix.buildConfiguration}} - steps: - - name: Checkout repository - uses: actions/checkout@v2 - -# - name: Checkout submodules -# run: git submodule update --init --recursive - -# - name: Install development library -# run: sudo apt-get install libasound2-dev libgl1-mesa-dev libpulse-dev libdbus-1-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxt-dev libxxf86vm-dev - -# - name: Install CMake -# uses: jwlawson/actions-setup-cmake@v1.9 -# with: -# cmake-version: '3.20.x' - -# - name: Install pre-requisite packages. -# run: sudo apt-get install -y wget apt-transport-https software-properties-common - -# - name: Download the Microsoft repository GPG keys -# run: wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb - -# - name: Register the Microsoft repository GPG keys -# run: sudo dpkg -i packages-microsoft-prod.deb - -# - name: Update the list of packages after we added packages.microsoft.com -# run: sudo apt-get update - -# - name: Install PowerShell -# run: sudo apt-get install -y powershell - -# - name: Add GCC Toolchain repository -# run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - -# - name: Install GCC compiler -# run: sudo apt install -y gcc-11 - -# - name: Install G++ compiler -# run: sudo apt install -y g++-11 - -# - name: CMake Build -# run: .\Scripts\BuildEngine.ps1 -Configurations ${{matrix.buildConfiguration}} -# shell: pwsh diff --git a/.github/workflows/macOS-build.yml b/.github/workflows/macOS-build.yml index 4ab20d7c..e5e40ca2 100644 --- a/.github/workflows/macOS-build.yml +++ b/.github/workflows/macOS-build.yml @@ -19,24 +19,3 @@ jobs: architecture: ${{ matrix.architecture }} targetFramework: ${{inputs.targetFramework}} - test: - needs: cmake-build - strategy: - matrix: - testConfiguration: [Debug, Release] - architecture: [x64, arm64] - uses: ./.github/workflows/job-test-macOS.yml - with: - configuration: ${{matrix.testConfiguration}} - architecture: ${{ matrix.architecture }} - - deploy: - needs: test - strategy: - matrix: - architecture: [x64, arm64] - uses: ./.github/workflows/job-deploy-macOS.yml - with: - configuration: Release - architecture: ${{ matrix.architecture }} - targetFramework: ${{inputs.targetFramework}} diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 04f0eb03..9098a922 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -17,18 +17,3 @@ jobs: configuration: ${{matrix.buildConfiguration}} targetFramework: ${{inputs.targetFramework}} - test: - needs: cmake-build - strategy: - matrix: - testConfiguration: [Debug, Release] - uses: ./.github/workflows/job-test-windows.yml - with: - configuration: ${{matrix.testConfiguration}} - - deploy: - needs: test - uses: ./.github/workflows/job-deploy-windows.yml - with: - configuration: Release - targetFramework: ${{inputs.targetFramework}} \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 2eaffaf6..e69de29b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,69 +0,0 @@ -[submodule "__externals/fmt"] - path = __externals/fmt - url = https://github.com/fmtlib/fmt -[submodule "__externals/stb"] - path = __externals/stb - url = https://github.com/nothings/stb -[submodule "__externals/imgui/src"] - path = __externals/imgui/src - url = https://github.com/ocornut/imgui -[submodule "__externals/spdlog"] - path = __externals/spdlog - url = https://github.com/gabime/spdlog -[submodule "__externals/glfw"] - path = __externals/glfw - url = https://github.com/glfw/glfw -[submodule "__externals/entt"] - path = __externals/entt - url = https://github.com/skypjack/entt -[submodule "__externals/assimp"] - path = __externals/assimp - url = https://github.com/assimp/assimp -[submodule "__externals/stduuid"] - path = __externals/stduuid - url = https://github.com/mariusbancila/stduuid -[submodule "__externals/yaml-cpp"] - path = __externals/yaml-cpp - url = https://github.com/jbeder/yaml-cpp -[submodule "__externals/ImGuizmo"] - path = __externals/ImGuizmo - url = https://github.com/CedricGuillemet/ImGuizmo -[submodule "__externals/SPIRV-Cross"] - path = __externals/SPIRV-Cross - url = https://github.com/KhronosGroup/SPIRV-Cross -[submodule "__externals/gtest"] - path = __externals/gtest - url = https://github.com/google/googletest -[submodule "__externals/VulkanMemoryAllocator"] - path = __externals/VulkanMemoryAllocator - url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator -[submodule "__externals/nlohmann_json"] - path = __externals/nlohmann_json - url = https://github.com/nlohmann/json -[submodule "__externals/glslang"] - path = __externals/glslang - url = https://github.com/khronosGroup/glslang.git -[submodule "__externals/SPIRV-headers"] - path = __externals/SPIRV-headers - url = https://github.com/khronosGroup/SPIRV-headers.git -[submodule "__externals/SPIRV-Tools"] - path = __externals/SPIRV-Tools - url = https://github.com/khronosGroup/SPIRV-Tools -[submodule "__externals/Vulkan-Loader"] - path = __externals/Vulkan-Loader - url = https://github.com/KhronosGroup/Vulkan-Loader -[submodule "__externals/glm"] - path = __externals/glm - url = https://github.com/g-truc/glm -[submodule "__externals/Vulkan-Headers"] - path = __externals/Vulkan-Headers - url = https://github.com/KhronosGroup/Vulkan-Headers -[submodule "__externals/tlsf/src"] - path = __externals/tlsf/src - url = https://github.com/mattconte/tlsf -[submodule "__externals/CLI11"] - path = __externals/CLI11 - url = https://github.com/CLIUtils/CLI11 -[submodule "__externals/rapidhash/src"] - path = __externals/rapidhash/src - url = https://github.com/Nicoshev/rapidhash diff --git a/CMakeLists.txt b/CMakeLists.txt index 2da817d2..af65f171 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,115 +1,81 @@ -cmake_minimum_required (VERSION 3.17 FATAL_ERROR) +cmake_minimum_required(VERSION 3.17 FATAL_ERROR) -project (RendererEngine - VERSION 1.0 - DESCRIPTION "Renderer Engine is an open-source 2D - 3D rendering engine written in C/C++" - LANGUAGES CXX C -) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD 20) -set_property (GLOBAL PROPERTY USE_FOLDERS ON) +project( + RendererEngine + VERSION 1.0 + DESCRIPTION + "Renderer Engine is an open-source 2D - 3D rendering engine written in C/C++" + LANGUAGES CXX) + +set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Core invariants # -get_filename_component (ENLISTMENT_ROOT "." ABSOLUTE CACHE) -get_filename_component (EXTERNAL_DIR "${ENLISTMENT_ROOT}/__externals" ABSOLUTE CACHE) -get_filename_component (EXTERNAL_NUGET_DIR "${ENLISTMENT_ROOT}/__externals/nuget" ABSOLUTE CACHE) +get_filename_component(ENLISTMENT_ROOT "." ABSOLUTE CACHE) +get_filename_component(EXAMPLE_DIR "${ENLISTMENT_ROOT}/Examples" ABSOLUTE CACHE) include(${ENLISTMENT_ROOT}/Scripts/CMake/NuGet.cmake) -include(${ENLISTMENT_ROOT}/Scripts/CMake/CppWinRT.cmake) -include(${ENLISTMENT_ROOT}/dependencies.cmake) - -option (COPY_EXAMPLE_PROJECT "Copy example projects that show how to use Launcher" ON) -option (LAUNCHER_ONLY "Build Launcher only" OFF) - -set (MACOSX_ARCHITECTURE_ARM64 OFF) -if (APPLE) - # Use uname to detect the macOS processor architecture - execute_process( - COMMAND uname -m - OUTPUT_VARIABLE MACOSX_ARCHITECTURE - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if (MACOSX_ARCHITECTURE STREQUAL "arm64") - set (MACOSX_ARCHITECTURE_ARM64 ON) - endif () -endif () +option(COPY_EXAMPLE_PROJECT + "Copy example projects that show how to use Launcher" ON) +option(LAUNCHER_ONLY "Build Launcher only" OFF) + +set(MACOSX_ARCHITECTURE_ARM64 OFF) +if(APPLE) + # Use uname to detect the macOS processor architecture + execute_process( + COMMAND uname -m + OUTPUT_VARIABLE MACOSX_ARCHITECTURE + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(MACOSX_ARCHITECTURE STREQUAL "arm64") + set(MACOSX_ARCHITECTURE_ARM64 ON) + endif() +endif() if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING) # Fix Warning from VS 2022 + endif() -# Externals dependencies -# -if (NOT LAUNCHER_ONLY) - add_subdirectory (${EXTERNAL_DIR}/fmt) - add_subdirectory (${EXTERNAL_DIR}/imgui) - add_subdirectory (${EXTERNAL_DIR}/glfw) - add_subdirectory (${EXTERNAL_DIR}/spdlog) - add_subdirectory (${EXTERNAL_DIR}/glm) - add_subdirectory (${EXTERNAL_DIR}/entt) - add_subdirectory (${EXTERNAL_DIR}/assimp) - add_subdirectory (${EXTERNAL_DIR}/stduuid) - add_subdirectory (${EXTERNAL_DIR}/yaml-cpp) - add_subdirectory (${EXTERNAL_DIR}/SPIRV-headers) - add_subdirectory (${EXTERNAL_DIR}/SPIRV-Tools) - add_subdirectory (${EXTERNAL_DIR}/glslang) - add_subdirectory (${EXTERNAL_DIR}/SPIRV-Cross) - add_subdirectory (${EXTERNAL_DIR}/gtest) - add_subdirectory (${EXTERNAL_DIR}/VulkanMemoryAllocator) - add_subdirectory (${EXTERNAL_DIR}/tlsf) - add_subdirectory (${EXTERNAL_DIR}/rapidhash) - add_subdirectory (${EXTERNAL_DIR}/CLI11) - - set (CMAKE_PREFIX_PATH - ${CMAKE_PREFIX_PATH} - ${EXTERNAL_DIR}/Vulkan-Headers/build/install/share/cmake - ) - add_subdirectory (${EXTERNAL_DIR}/Vulkan-Loader) +include(externals.cmake) - # Core engine lib is here - # - add_subdirectory (ZEngine) +# Core engine lib is here +# +add_subdirectory(ZEngine) - # Editor is here - # - add_subdirectory (Tetragrama) -endif () +# Editor is here +# +add_subdirectory(Tetragrama) # Launcher is here # -add_subdirectory (Panzerfaust) + add_subdirectory (Panzerfaust) -if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - set_property (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Panzerfaust) -endif () +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT + Panzerfaust) +endif() # Post build operation # -set (SYSTEM_NAME ${CMAKE_SYSTEM_NAME}) -if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - set (SYSTEM_ARCHITECTURE "win-x64") -elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - set (SYSTEM_ARCHITECTURE "linux-x64") -elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - if (MACOSX_ARCHITECTURE_ARM64) - set (SYSTEM_ARCHITECTURE "osx-arm64") - else () - set (SYSTEM_ARCHITECTURE "osx-x64") - endif () -endif () - -add_custom_target (AssembleContent ALL - COMMENT "Copying assets and resources contents" - COMMAND pwsh ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/PostBuild.ps1 -SystemName ${SYSTEM_NAME} -Architectures ${SYSTEM_ARCHITECTURE} -Configurations $,Debug,Release> $<$:-LauncherOnly> -) - -if (NOT LAUNCHER_ONLY) - add_dependencies(AssembleContent zEngineLib tetragrama) -endif () +set(SYSTEM_NAME ${CMAKE_SYSTEM_NAME}) +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + set(SYSTEM_ARCHITECTURE "win-x64") +elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + set(SYSTEM_ARCHITECTURE "linux-x64") +elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + if(MACOSX_ARCHITECTURE_ARM64) + set(SYSTEM_ARCHITECTURE "osx-arm64") + else() + set(SYSTEM_ARCHITECTURE "osx-x64") + endif() +endif() -if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - add_dependencies(AssembleContent Panzerfaust-WinBuild) -else () - add_dependencies(AssembleContent Panzerfaust) -endif () +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + # add_dependencies(AssembleContent Panzerfaust-WinBuild) +else() + # add_dependencies(AssembleContent Panzerfaust) +endif() diff --git a/Scripts/BuildEngine.ps1 b/Scripts/BuildEngine.ps1 index 0e24eefb..06317975 100644 --- a/Scripts/BuildEngine.ps1 +++ b/Scripts/BuildEngine.ps1 @@ -83,26 +83,6 @@ if ($IsWindows) { } -if(-Not $LauncherOnly) { - $RepoRoot = [IO.Path]::Combine($PSScriptRoot, "..") - Write-Host "Ensuring submodules are initialized and updated..." - & git -C $RepoRoot submodule update --init --recursive - - Write-Host "Configuring Vulkan-Header submodule..." - - $ExternalVulkanHeadersDir = Join-Path -Path $RepoRoot -ChildPath "__externals/Vulkan-Headers" - $ExternalVulkanHeadersOutputDir = Join-Path -Path $ExternalVulkanHeadersDir -ChildPath "build" - $ExternalVulkanHeadersInstallDir = Join-Path -Path $ExternalVulkanHeadersOutputDir -ChildPath "install" - - if(-Not (Test-Path -Path $ExternalVulkanHeadersInstallDir)) { - & $cMakeProgram -S $ExternalVulkanHeadersDir -B $ExternalVulkanHeadersOutputDir - & $cMakeProgram --install $ExternalVulkanHeadersOutputDir --prefix $ExternalVulkanHeadersInstallDir - } -} else { - Write-Host "Skipping submodules initialization..." -} - - function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) { $architecture = 'x64' @@ -113,7 +93,6 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) { # Check the system name if ($IsLinux) { $systemName = "Linux" - $cMakeGenerator } elseif ($IsMacOS) { $systemName = "Darwin" @@ -131,32 +110,13 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) { [string]$BuildDirectoryName = "Result." + $systemName + "." + $architecture + "." + $BuildDirectoryNameExtension [string]$buildDirectoryPath = [IO.Path]::Combine($RepoRoot, $BuildDirectoryName) [string]$cMakeCacheVariableOverride = "" - [string]$cMakeGenerator = "" + [string]$cMakeGenerator = "-G Ninja" # Create build directory if (-Not (Test-Path $buildDirectoryPath)) { $Null = New-Item -ItemType Directory -Path $BuildDirectoryPath -ErrorAction SilentlyContinue } - # Define CMake Generator arguments - $cMakeOptions = " -DCMAKE_SYSTEM_NAME=$systemName", " -DCMAKE_BUILD_TYPE=$configuration" - $submoduleCMakeOptions = @{ - 'ENTT' = @("-DENTT_INCLUDE_HEADERS=ON") - 'SPDLOG' = @("-DSPDLOG_BUILD_SHARED=OFF", "-DBUILD_STATIC_LIBS=ON", "-DSPDLOG_FMT_EXTERNAL=ON", "-DSPDLOG_FMT_EXTERNAL_HO=OFF"); - 'GLFW ' = @("-DGLFW_BUILD_DOCS=OFF", "-DGLFW_BUILD_EXAMPLES=OFF", "-DGLFW_INSTALL=OFF"); - 'ASSIMP' = @("-DASSIMP_BUILD_TESTS=OFF", "-DASSIMP_INSTALL=OFF", "-DASSIMP_BUILD_SAMPLES=OFF", "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF", "-DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF", "-DASSIMP_BUILD_OBJ_IMPORTER=ON", "-DASSIMP_BUILD_ALL_EXPORTERS_BY_DEFAULT=OFF", "-DASSIMP_BUILD_OBJ_EXPORTER=ON"); - 'STDUUID' = @("-DUUID_BUILD_TESTS=OFF", "-DUUID_USING_CXX20_SPAN=ON", "-DUUID_SYSTEM_GENERATOR=OFF"); - 'YAMLCPP' = @("-DYAML_CPP_BUILD_TOOLS=OFF", "-DYAML_CPP_BUILD_TESTS=OFF", "-DYAML_CPP_FORMAT_SOURCE=OFF", "-DYAML_BUILD_SHARED_LIBS=OFF"); - 'FRAMEWORK' = @("-DBUILD_FRAMEWORK=ON"); - 'VULKAN_LOADER' = @("-DVULKAN_HEADERS_INSTALL_DIR=$ExternalVulkanHeadersInstallDir", "-DUSE_MASM=OFF", "-DUSE_GAS=OFF") - 'SPIRV_TOOLS' = @("-DSPIRV_SKIP_EXECUTABLES=ON", "-DSPIRV_SKIP_TESTS=ON") - 'SPIRV_CROSS' = @("-DSPIRV_CROSS_ENABLE_TESTS=OFF") - 'LAUNCHER_ONLY' = @("-DLAUNCHER_ONLY=ON") - 'GLM' = @("-DCMAKE_POLICY_VERSION_MINIMUM=3.5") - } - - $cMakeCacheVariableOverride = $cMakeOptions -join ' ' - # Define CMake Generator argument switch ($systemName) { "Windows" { @@ -170,38 +130,9 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) { } $cMakeCacheVariableOverride += ' -DCMAKE_CONFIGURATION_TYPES=Debug;Release ' } - "Linux" { - $cMakeGenerator = "-G `"Unix Makefiles`"" - - # Set Linux build compiler - $env:CC = '/usr/bin/gcc-11' - $env:CXX = '/usr/bin/g++-11' - } - "Darwin" { - $cMakeGenerator = "-G `"Xcode`"" - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.FRAMEWORK -join ' ' - } - Default { - throw 'This system is not supported' - } - } - - if($LauncherOnly) { - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.LAUNCHER_ONLY -join ' ' - } else { - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.ENT -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.SPDLOG -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.ASSIMP -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.STDUUID -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.YAMLCPP -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.VULKAN_LOADER -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.SPIRV_CROSS -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.SPIRV_TOOLS -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.GLFW -join ' ' - $cMakeCacheVariableOverride += ' ' + $submoduleCMakeOptions.GLM -join ' ' } - $cMakeArguments = " -S $repositoryRootPath -B $buildDirectoryPath $cMakeGenerator $cMakeCacheVariableOverride" + $cMakeArguments = " -S $repositoryRootPath -B $buildDirectoryPath $cMakeGenerator $cMakeCacheVariableOverride -DCMAKE_BUILD_TYPE=$configuration" # CMake Generation process Write-Host $cMakeArguments @@ -220,7 +151,7 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) { $buildToolOptions = '-nodeReuse:false' } - $buildArguments = "--build $buildDirectoryPath --config $configuration" + $buildArguments = "--build $buildDirectoryPath" if ($buildToolOptions) { $buildArguments = $buildArguments, $buildToolOptions -join " --" } @@ -232,11 +163,11 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) { # https://stackoverflow.com/questions/44057728/start-process-system-diagnostics-process-exitcode-is-null-with-nonewwindow $processHandle = $buildProcess.Handle $buildProcess.WaitForExit(); - if ($buildProcess.ExitCode -ne 0) { - throw "cmake failed build for '$buildArguments' with exit code '$buildProcess.ExitCode'" - } + #if ($buildProcess.ExitCode -ne 0) { + # throw "cmake failed build for '$buildArguments' with exit code '$buildProcess.ExitCode'" + #} } -} + if(-Not $LauncherOnly) { @@ -258,9 +189,9 @@ if(-Not $LauncherOnly) { } } } +} - - # Run Shader Compilation +# Run Shader Compilation foreach ($config in $Configurations) { $shaderCompileScript = Join-Path $PSScriptRoot -ChildPath "ShaderCompile.ps1" & pwsh -File $shaderCompileScript -Configuration:$config -ForceRebuild:$true diff --git a/Scripts/ClangFormat.ps1 b/Scripts/ClangFormat.ps1 index 626b26b8..2385efd6 100644 --- a/Scripts/ClangFormat.ps1 +++ b/Scripts/ClangFormat.ps1 @@ -45,7 +45,7 @@ $srcFiles = $srcFiles | ForEach-Object { $_.FullName } Write-Host "Running clang-format on $SourceDirectory..." -[string[]] $clangFormatArgument = "-i", "--ferror-limit=0", "-fallback-style=none", "--style=file" +[string[]] $clangFormatArgument = "-i", "--ferror-limit=0", "-fallback-style=Microsoft", "--style=file" if ($RunAsCheck) { $clangFormatArgument += "--dry-run", "--Werror" @@ -59,8 +59,8 @@ $process.WaitForExit() $exitCode = $process.ExitCode if ($exitCode -ne 0) { - Write-Error "clang-format failed formatting source with exit code '$exitCode'" -ErrorAction Stop + Write-Error "clang-format failed formatting source with exit code '$exitCode'" } else { Write-Host "clang-format source formatting succeeded" -} \ No newline at end of file +} diff --git a/Scripts/RunTests.ps1 b/Scripts/RunTests.ps1 index 18528e54..2f7dcaa8 100644 --- a/Scripts/RunTests.ps1 +++ b/Scripts/RunTests.ps1 @@ -65,9 +65,11 @@ function RunTests { $testExecutablePath = [IO.Path]::Combine($OutputBuildDirectory, "ZEngine", "tests", $Configuration, "ZEngineTests.exe") } "Darwin" { - $testExecutablePath = Join-Path $OutputBuildDirectory -ChildPath "ZEngine/tests/$Configuration/ZEngineTests" + $testExecutablePath = Join-Path $OutputBuildDirectory -ChildPath "ZEngine/tests/ZEngineTests" } - "Linux" {} + "Linux" { + $testExecutablePath = Join-Path $OutputBuildDirectory -ChildPath "ZEngine/tests/ZEngineTests" + } Default { throw 'This system is not supported' } diff --git a/Scripts/Shared.ps1 b/Scripts/Shared.ps1 index 4364db64..4285e1b2 100644 --- a/Scripts/Shared.ps1 +++ b/Scripts/Shared.ps1 @@ -185,8 +185,6 @@ function Find-GlslangValidator () { function Find-ClangFormat () { $repoConfiguration = Get-RepositoryConfiguration - $LLVMMinimumVersion = $repoConfiguration.Requirements.LLVM.Version - $LLVMMaximumVersion = $repoConfiguration.Requirements.LLVM.MaximumVersion $candidates = @( 'clang-format' @@ -204,17 +202,18 @@ function Find-ClangFormat () { if ($clangFormatCommand) { if ((& $clangFormatCommand --version | Out-String) -match "clang-format version ([\d\.]*)") { [Version] $clangFormatVersion = $Matches[1] - if ((CompareVersion $clangFormatVersion $LLVMMinimumVersion) -and (CompareVersion $LLVMMaximumVersion $clangFormatVersion)) { return $clangFormatCommand.Source - } } } } - throw "Failed to find clang-format min $LLVMMinimumVersion max $LLVMMaximumVersion. Tried: " + ($candidates -join ', ') + throw "Failed to find clang-format min $LLVMMinimumVersion. Tried: " + ($candidates -join ', ') } function Setup-ShaderCCompilerTool () { + if($IsLinux) { + return + } $repoConfiguration = Get-RepositoryConfiguration $repositoryToolPath = $repoConfiguration.Paths.Tools diff --git a/Tetragrama/CMakeLists.txt b/Tetragrama/CMakeLists.txt index e8e64d2b..e7d1c9c8 100644 --- a/Tetragrama/CMakeLists.txt +++ b/Tetragrama/CMakeLists.txt @@ -6,60 +6,56 @@ project (Tetragrama LANGUAGES CXX ) -set (CMAKE_CXX_STANDARD_REQUIRED ON) -set (CMAKE_CXX_STANDARD 20) +add_executable (Tetragrama) -file (GLOB_RECURSE HEADER_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) -file (GLOB_RECURSE CPP_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) - -source_group (TREE ${PROJECT_SOURCE_DIR} PREFIX "Source Files" FILES ${HEADER_FILES} ${CPP_FILES}) - -set (TARGET_NAME tetragrama) - -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - add_executable (${TARGET_NAME} WIN32) -else() - add_executable (${TARGET_NAME}) -endif() +target_include_directories (Tetragrama + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/.. +) -target_sources(${TARGET_NAME} PUBLIC ${HEADER_FILES} ${CPP_FILES}) +target_sources(Tetragrama PRIVATE + Controllers/EditorCameraController.cpp + Controllers/PerspectiveCameraController.cpp + EntryPoint.cpp + Editor.cpp + Importers/AssimpImporter.cpp + Importers/IAssetImporter.cpp + Helpers/SerializerCommonHelper.cpp + Helpers/SearchPatternAlgorithm.cpp + Helpers/UIComponentDrawerHelper.cpp + Managers/AssetManager.cpp + Serializers/EditorSceneSerializer.cpp + EditorScene.cpp + EditorWindow.cpp + Components/SceneViewportUIComponent.cpp + Components/HierarchyViewUIComponent.cpp + Components/DockspaceUIComponent.cpp + Components/InspectorViewUIComponent.cpp + Components/LogUIComponent.cpp + Components/ProjectViewUIComponent.cpp + Layers/RenderLayer.cpp + Layers/ImguiLayer.cpp +) # We set this debugger directory to find assets and resources file # after being copied to Debug and Release output directories # if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - set_target_properties(${TARGET_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)$(Configuration)") + set_target_properties(Tetragrama PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)$(Configuration)") endif () -include(${EXTERNAL_DIR}/externals.cmake) - -target_include_directories (${TARGET_NAME} - PRIVATE - . - ./Components - ./Components/Events - ./Controllers - ./Inputs - ./Layers - ./Messengers - ./Helpers - ./Importers - ./Serializers - ./Managers - ${ENLISTMENT_ROOT}/ZEngine -) -target_precompile_headers(${TARGET_NAME} PRIVATE pch.h) -target_compile_definitions(${TARGET_NAME} +target_compile_definitions(Tetragrama PRIVATE NOMINMAX UNICODE _UNICODE ) -target_link_libraries(${TARGET_NAME} PRIVATE +target_link_libraries(Tetragrama + PRIVATE zEngineLib - imported::External_editorLibs + nlohmann_json::nlohmann_json ) -set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "zEngineEditor") \ No newline at end of file +set_target_properties(Tetragrama PROPERTIES OUTPUT_NAME "zEngineEditor") diff --git a/Tetragrama/Components/AboutUIComponent.h b/Tetragrama/Components/AboutUIComponent.h index b03a7944..c5b676d9 100644 --- a/Tetragrama/Components/AboutUIComponent.h +++ b/Tetragrama/Components/AboutUIComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace Tetragrama::Components diff --git a/Tetragrama/Components/DemoUIComponent.h b/Tetragrama/Components/DemoUIComponent.h index 94a6e52a..86f06750 100644 --- a/Tetragrama/Components/DemoUIComponent.h +++ b/Tetragrama/Components/DemoUIComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace Tetragrama::Components diff --git a/Tetragrama/Components/DockspaceUIComponent.cpp b/Tetragrama/Components/DockspaceUIComponent.cpp index bc152653..3a228216 100644 --- a/Tetragrama/Components/DockspaceUIComponent.cpp +++ b/Tetragrama/Components/DockspaceUIComponent.cpp @@ -1,13 +1,14 @@ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include +#include +#include namespace fs = std::filesystem; @@ -221,7 +222,7 @@ namespace Tetragrama::Components ImGui::PushFont(ImGui::GetIO().Fonts->Fonts[0]); ImGui::SetCursorPos(ImVec2(10, ImGui::GetWindowSize().y - 30)); - ImGui::TextColored(s_asset_importer_report_msg_color, s_asset_importer_report_msg.c_str()); + ImGui::TextColored(s_asset_importer_report_msg_color, "%s", s_asset_importer_report_msg.c_str()); ImGui::PopFont(); ImGui::EndPopup(); @@ -254,7 +255,7 @@ namespace Tetragrama::Components ImGui::PushFont(ImGui::GetIO().Fonts->Fonts[0]); ImGui::SetCursorPos(ImVec2(10, wind_size.y - 30)); - ImGui::TextColored(s_scene_serializer_log_color, s_scene_serializer_log); + ImGui::TextColored(s_scene_serializer_log_color, "%s", s_scene_serializer_log); ImGui::PopFont(); ImGui::EndPopup(); diff --git a/Tetragrama/Components/DockspaceUIComponent.h b/Tetragrama/Components/DockspaceUIComponent.h index ba5c9ecd..39651984 100644 --- a/Tetragrama/Components/DockspaceUIComponent.h +++ b/Tetragrama/Components/DockspaceUIComponent.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include #include namespace Tetragrama::Components diff --git a/Tetragrama/Components/Events/SceneTextureAvailableEvent.h b/Tetragrama/Components/Events/SceneTextureAvailableEvent.h index 5bab9c67..378eb873 100644 --- a/Tetragrama/Components/Events/SceneTextureAvailableEvent.h +++ b/Tetragrama/Components/Events/SceneTextureAvailableEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace Tetragrama::Components::Event { diff --git a/Tetragrama/Components/Events/SceneViewportFocusedEvent.h b/Tetragrama/Components/Events/SceneViewportFocusedEvent.h index d41295ee..49777020 100644 --- a/Tetragrama/Components/Events/SceneViewportFocusedEvent.h +++ b/Tetragrama/Components/Events/SceneViewportFocusedEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace Tetragrama::Components::Event { diff --git a/Tetragrama/Components/Events/SceneViewportResizedEvent.h b/Tetragrama/Components/Events/SceneViewportResizedEvent.h index 38c783d5..74e14e3d 100644 --- a/Tetragrama/Components/Events/SceneViewportResizedEvent.h +++ b/Tetragrama/Components/Events/SceneViewportResizedEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace Tetragrama::Components::Event { diff --git a/Tetragrama/Components/Events/SceneViewportUnfocusedEvent.h b/Tetragrama/Components/Events/SceneViewportUnfocusedEvent.h index 26c680cc..b7612ae1 100644 --- a/Tetragrama/Components/Events/SceneViewportUnfocusedEvent.h +++ b/Tetragrama/Components/Events/SceneViewportUnfocusedEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace Tetragrama::Components::Event { diff --git a/Tetragrama/Components/HierarchyViewUIComponent.cpp b/Tetragrama/Components/HierarchyViewUIComponent.cpp index 003bb9e0..9380da84 100644 --- a/Tetragrama/Components/HierarchyViewUIComponent.cpp +++ b/Tetragrama/Components/HierarchyViewUIComponent.cpp @@ -1,18 +1,17 @@ -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include -#include +#include #include +#include #include using namespace ZEngine; diff --git a/Tetragrama/Components/HierarchyViewUIComponent.h b/Tetragrama/Components/HierarchyViewUIComponent.h index 2817dcbd..a262b30c 100644 --- a/Tetragrama/Components/HierarchyViewUIComponent.h +++ b/Tetragrama/Components/HierarchyViewUIComponent.h @@ -1,11 +1,9 @@ #pragma once -#include -#include -#include +#include +#include +#include +#include #include -#include -#include -#include namespace Tetragrama::Components { diff --git a/Tetragrama/Components/InspectorViewUIComponent.cpp b/Tetragrama/Components/InspectorViewUIComponent.cpp index 4847cd4a..8078c77f 100644 --- a/Tetragrama/Components/InspectorViewUIComponent.cpp +++ b/Tetragrama/Components/InspectorViewUIComponent.cpp @@ -1,14 +1,11 @@ -#include -#include -#include +#include +#include #include #include #include #include #include #include - -#define GLM_ENABLE_EXPERIMENTAL #include using namespace ZEngine::Rendering::Materials; diff --git a/Tetragrama/Components/InspectorViewUIComponent.h b/Tetragrama/Components/InspectorViewUIComponent.h index 7d944213..2fd42931 100644 --- a/Tetragrama/Components/InspectorViewUIComponent.h +++ b/Tetragrama/Components/InspectorViewUIComponent.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include #include diff --git a/Tetragrama/Components/LogUIComponent.cpp b/Tetragrama/Components/LogUIComponent.cpp index 6281c41e..25d4b262 100644 --- a/Tetragrama/Components/LogUIComponent.cpp +++ b/Tetragrama/Components/LogUIComponent.cpp @@ -1,8 +1,7 @@ -#include -#include -#include -#include +#include +#include #include +#include #include using namespace ZEngine::Logging; diff --git a/Tetragrama/Components/LogUIComponent.h b/Tetragrama/Components/LogUIComponent.h index 5c88c852..992a16d7 100644 --- a/Tetragrama/Components/LogUIComponent.h +++ b/Tetragrama/Components/LogUIComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/Tetragrama/Components/ProjectViewUIComponent.cpp b/Tetragrama/Components/ProjectViewUIComponent.cpp index a69816ba..3c221f52 100644 --- a/Tetragrama/Components/ProjectViewUIComponent.cpp +++ b/Tetragrama/Components/ProjectViewUIComponent.cpp @@ -1,9 +1,9 @@ -#include -#include -#include -#include +#include +#include +#include #include #include +#include using namespace ZEngine::Helpers; diff --git a/Tetragrama/Components/ProjectViewUIComponent.h b/Tetragrama/Components/ProjectViewUIComponent.h index 5f22982f..d1e4927b 100644 --- a/Tetragrama/Components/ProjectViewUIComponent.h +++ b/Tetragrama/Components/ProjectViewUIComponent.h @@ -1,6 +1,7 @@ #pragma once -#include +#include #include +#include namespace Tetragrama::Components { diff --git a/Tetragrama/Components/SceneViewportUIComponent.cpp b/Tetragrama/Components/SceneViewportUIComponent.cpp index 81f1d66f..29aa1381 100644 --- a/Tetragrama/Components/SceneViewportUIComponent.cpp +++ b/Tetragrama/Components/SceneViewportUIComponent.cpp @@ -1,13 +1,12 @@ -#include -#include -#include -#include +#include +#include +#include #include #include #include /**/ -#include -#include +#include +#include using namespace Tetragrama::Components::Event; using namespace ZEngine::Rendering::Renderers; @@ -97,7 +96,7 @@ namespace Tetragrama::Components m_refresh_texture_handle = false; } - ImGui::Image((ImTextureID) m_scene_texture.Index, m_viewport_size, ImVec2(0, 1), ImVec2(1, 0)); + ImGui::Image(reinterpret_cast(m_scene_texture.Index), m_viewport_size, ImVec2(0, 1), ImVec2(1, 0)); // ViewPort bound computation ImVec2 viewport_windows_size = ImGui::GetWindowSize(); ImVec2 minimum_bound = ImGui::GetWindowPos(); diff --git a/Tetragrama/Components/SceneViewportUIComponent.h b/Tetragrama/Components/SceneViewportUIComponent.h index 62a52367..c84c7c3d 100644 --- a/Tetragrama/Components/SceneViewportUIComponent.h +++ b/Tetragrama/Components/SceneViewportUIComponent.h @@ -1,9 +1,9 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include diff --git a/Tetragrama/Components/UIComponent.h b/Tetragrama/Components/UIComponent.h index 58932d9b..3d24aca3 100644 --- a/Tetragrama/Components/UIComponent.h +++ b/Tetragrama/Components/UIComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/Tetragrama/Controllers/EditorCameraController.cpp b/Tetragrama/Controllers/EditorCameraController.cpp index 9f4ea24a..b7542bd5 100644 --- a/Tetragrama/Controllers/EditorCameraController.cpp +++ b/Tetragrama/Controllers/EditorCameraController.cpp @@ -1,4 +1,4 @@ -#include +#include using namespace ZEngine::Rendering::Cameras; using namespace ZEngine::Helpers; diff --git a/Tetragrama/Controllers/EditorCameraController.h b/Tetragrama/Controllers/EditorCameraController.h index 9e91c014..e6973cff 100644 --- a/Tetragrama/Controllers/EditorCameraController.h +++ b/Tetragrama/Controllers/EditorCameraController.h @@ -1,5 +1,6 @@ #pragma once -#include +#include +#include namespace Tetragrama::Controllers { diff --git a/Tetragrama/Controllers/ICameraController.h b/Tetragrama/Controllers/ICameraController.h index 11a8f703..592306c2 100644 --- a/Tetragrama/Controllers/ICameraController.h +++ b/Tetragrama/Controllers/ICameraController.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include diff --git a/Tetragrama/Controllers/PerspectiveCameraController.cpp b/Tetragrama/Controllers/PerspectiveCameraController.cpp index c9e70f53..e7360066 100644 --- a/Tetragrama/Controllers/PerspectiveCameraController.cpp +++ b/Tetragrama/Controllers/PerspectiveCameraController.cpp @@ -1,10 +1,9 @@ -#include -#include -#include -#include -#include -#include +#include +#include +#include #include +#include +#include using namespace ZEngine; using namespace ZEngine::Helpers; diff --git a/Tetragrama/Controllers/PerspectiveCameraController.h b/Tetragrama/Controllers/PerspectiveCameraController.h index 354c65a0..b598e4f4 100644 --- a/Tetragrama/Controllers/PerspectiveCameraController.h +++ b/Tetragrama/Controllers/PerspectiveCameraController.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/Tetragrama/Editor.cpp b/Tetragrama/Editor.cpp index c7145c04..7841f0f6 100644 --- a/Tetragrama/Editor.cpp +++ b/Tetragrama/Editor.cpp @@ -1,9 +1,9 @@ -#include -#include -#include -#include +#include +#include +#include #include #include +#include using namespace ZEngine; using namespace ZEngine::Core::Containers; diff --git a/Tetragrama/Editor.h b/Tetragrama/Editor.h index 31e5e838..ae07a110 100644 --- a/Tetragrama/Editor.h +++ b/Tetragrama/Editor.h @@ -1,10 +1,10 @@ #pragma once -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/Tetragrama/EditorScene.cpp b/Tetragrama/EditorScene.cpp index b7d7597e..3720685e 100644 --- a/Tetragrama/EditorScene.cpp +++ b/Tetragrama/EditorScene.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include #include namespace Tetragrama @@ -337,4 +336,4 @@ namespace Tetragrama asset_manager->LoadAssetFile(Importers::AssetImporterOutput{.Type = file.Type, .Path = file.Path.c_str(), .RootPath = file.RootPath.c_str()}); } } -} // namespace Tetragrama \ No newline at end of file +} // namespace Tetragrama diff --git a/Tetragrama/EditorScene.h b/Tetragrama/EditorScene.h index a1ff2c58..ffc2efae 100644 --- a/Tetragrama/EditorScene.h +++ b/Tetragrama/EditorScene.h @@ -1,12 +1,12 @@ #pragma once -#include -#include +#include +#include #include #include #include #include #include -#include +#include #include #include @@ -79,4 +79,4 @@ namespace Tetragrama ZRawPtr(ZEngine::Rendering::Scenes::GraphicScene) RenderScene = nullptr; }; -} // namespace Tetragrama \ No newline at end of file +} // namespace Tetragrama diff --git a/Tetragrama/EditorWindow.cpp b/Tetragrama/EditorWindow.cpp index ac6a523e..8b71c367 100644 --- a/Tetragrama/EditorWindow.cpp +++ b/Tetragrama/EditorWindow.cpp @@ -1,5 +1,4 @@ -#include -#include +#include #include #include #include diff --git a/Tetragrama/EditorWindow.h b/Tetragrama/EditorWindow.h index 98e34cf7..6b5ffeed 100644 --- a/Tetragrama/EditorWindow.h +++ b/Tetragrama/EditorWindow.h @@ -1,5 +1,4 @@ #pragma once -#define GLFW_INCLUDE_VULKAN #include #include #include diff --git a/Tetragrama/EntryPoint.cpp b/Tetragrama/EntryPoint.cpp index 2f557fea..a0bda508 100644 --- a/Tetragrama/EntryPoint.cpp +++ b/Tetragrama/EntryPoint.cpp @@ -1,9 +1,8 @@ -#include #include +#include #include #include #include -#include "Editor.h" #ifdef ZENGINE_PLATFORM @@ -24,7 +23,7 @@ int applicationEntryPoint(int argc, char* argv[]) MemoryManager manager = {}; MemoryConfiguration config = {.DefaultSize = ZGiga(2u)}; manager.Initialize(config); - auto arena = &(manager.ArenaAllocator); + auto arena = &(manager.m_ArenaAllocator); LoggerConfiguration logger_cfg = {}; Logger::Initialize(arena, logger_cfg); diff --git a/Tetragrama/Helpers/SearchPatternAlgorithm.cpp b/Tetragrama/Helpers/SearchPatternAlgorithm.cpp index 40493a7a..fbbbc3e6 100644 --- a/Tetragrama/Helpers/SearchPatternAlgorithm.cpp +++ b/Tetragrama/Helpers/SearchPatternAlgorithm.cpp @@ -1,5 +1,4 @@ -#include -#include +#include #include using namespace ZEngine::Core::Memory; @@ -70,4 +69,4 @@ namespace Tetragrama::Helpers } return false; // no match found } -} // namespace Tetragrama::Helpers \ No newline at end of file +} // namespace Tetragrama::Helpers diff --git a/Tetragrama/Helpers/SerializerCommonHelper.cpp b/Tetragrama/Helpers/SerializerCommonHelper.cpp index 3589fac9..2a953d52 100644 --- a/Tetragrama/Helpers/SerializerCommonHelper.cpp +++ b/Tetragrama/Helpers/SerializerCommonHelper.cpp @@ -1,9 +1,8 @@ -#include -#include +#include #include using namespace ZEngine::Core::Containers; namespace Tetragrama::Helpers { -} // namespace Tetragrama::Helpers \ No newline at end of file +} // namespace Tetragrama::Helpers diff --git a/Tetragrama/Helpers/SerializerCommonHelper.h b/Tetragrama/Helpers/SerializerCommonHelper.h index ec7c5dcf..0adf6315 100644 --- a/Tetragrama/Helpers/SerializerCommonHelper.h +++ b/Tetragrama/Helpers/SerializerCommonHelper.h @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include @@ -166,4 +166,4 @@ namespace Tetragrama::Helpers map.insert(key, val); } } -} // namespace Tetragrama::Helpers \ No newline at end of file +} // namespace Tetragrama::Helpers diff --git a/Tetragrama/Helpers/UIComponentDrawerHelper.cpp b/Tetragrama/Helpers/UIComponentDrawerHelper.cpp index 15acb6ce..9209a5a3 100644 --- a/Tetragrama/Helpers/UIComponentDrawerHelper.cpp +++ b/Tetragrama/Helpers/UIComponentDrawerHelper.cpp @@ -1,5 +1,4 @@ -#include -#include +#include namespace Tetragrama::Helpers { diff --git a/Tetragrama/Helpers/UIComponentDrawerHelper.h b/Tetragrama/Helpers/UIComponentDrawerHelper.h index 0c25c862..aec0a0ad 100644 --- a/Tetragrama/Helpers/UIComponentDrawerHelper.h +++ b/Tetragrama/Helpers/UIComponentDrawerHelper.h @@ -1,7 +1,7 @@ #pragma once #include #include -#include +#include namespace Tetragrama::Helpers { diff --git a/Tetragrama/Importers/AssetTypes.h b/Tetragrama/Importers/AssetTypes.h index 2bcbca62..211f36d2 100644 --- a/Tetragrama/Importers/AssetTypes.h +++ b/Tetragrama/Importers/AssetTypes.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/Tetragrama/Importers/AssimpImporter.cpp b/Tetragrama/Importers/AssimpImporter.cpp index 1c8f2a9a..d8e914c2 100644 --- a/Tetragrama/Importers/AssimpImporter.cpp +++ b/Tetragrama/Importers/AssimpImporter.cpp @@ -1,10 +1,12 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include #include #include +#include +#include +#include using namespace ZEngine::Helpers; using namespace Tetragrama::Helpers; @@ -529,4 +531,4 @@ namespace Tetragrama::Importers } return true; } -} // namespace Tetragrama::Importers \ No newline at end of file +} // namespace Tetragrama::Importers diff --git a/Tetragrama/Importers/AssimpImporter.h b/Tetragrama/Importers/AssimpImporter.h index 7d048e52..bb334eb0 100644 --- a/Tetragrama/Importers/AssimpImporter.h +++ b/Tetragrama/Importers/AssimpImporter.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include #include @@ -43,4 +43,4 @@ namespace Tetragrama::Importers void TraverseNode(ZEngine::Core::Memory::ArenaAllocator* arena, const aiScene*, const aiNode*, AssetNodeHierarchy&, AssetMesh&, ZEngine::Core::Containers::Array&, int parent_node_id, int depth_level); glm::mat4 ConvertToMat4(const aiMatrix4x4& m); }; -} // namespace Tetragrama::Importers \ No newline at end of file +} // namespace Tetragrama::Importers diff --git a/Tetragrama/Importers/IAssetImporter.cpp b/Tetragrama/Importers/IAssetImporter.cpp index 5a7e55b3..e2a96de7 100644 --- a/Tetragrama/Importers/IAssetImporter.cpp +++ b/Tetragrama/Importers/IAssetImporter.cpp @@ -1,7 +1,7 @@ -#include -#include -#include +#include +#include #include +#include using namespace uuids; using namespace ZEngine::Helpers; @@ -430,4 +430,4 @@ namespace Tetragrama::Importers in.close(); return output; } -} // namespace Tetragrama::Importers \ No newline at end of file +} // namespace Tetragrama::Importers diff --git a/Tetragrama/Importers/IAssetImporter.h b/Tetragrama/Importers/IAssetImporter.h index d5b02471..a1c30266 100644 --- a/Tetragrama/Importers/IAssetImporter.h +++ b/Tetragrama/Importers/IAssetImporter.h @@ -1,11 +1,11 @@ #pragma once -#include -#include -#include -#include +#include #include #include #include +#include +#include +#include #include #include #include diff --git a/Tetragrama/Layers/ImguiLayer.cpp b/Tetragrama/Layers/ImguiLayer.cpp index 21222409..74a83388 100644 --- a/Tetragrama/Layers/ImguiLayer.cpp +++ b/Tetragrama/Layers/ImguiLayer.cpp @@ -1,16 +1,15 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/Tetragrama/Layers/ImguiLayer.h b/Tetragrama/Layers/ImguiLayer.h index aa8d20c1..c3abfe3c 100644 --- a/Tetragrama/Layers/ImguiLayer.h +++ b/Tetragrama/Layers/ImguiLayer.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include #include diff --git a/Tetragrama/Layers/RenderLayer.cpp b/Tetragrama/Layers/RenderLayer.cpp index d9c7f964..cde624f6 100644 --- a/Tetragrama/Layers/RenderLayer.cpp +++ b/Tetragrama/Layers/RenderLayer.cpp @@ -1,8 +1,7 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include #include #include using namespace Tetragrama::Controllers; diff --git a/Tetragrama/Layers/RenderLayer.h b/Tetragrama/Layers/RenderLayer.h index ca3bf52d..c5bbadc9 100644 --- a/Tetragrama/Layers/RenderLayer.h +++ b/Tetragrama/Layers/RenderLayer.h @@ -1,14 +1,11 @@ #pragma once -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include -#include -#include -#include namespace Tetragrama::Layers { diff --git a/Tetragrama/Managers/AssetManager.cpp b/Tetragrama/Managers/AssetManager.cpp index 024e6ba4..396e0fb1 100644 --- a/Tetragrama/Managers/AssetManager.cpp +++ b/Tetragrama/Managers/AssetManager.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include #include #include diff --git a/Tetragrama/Managers/AssetManager.h b/Tetragrama/Managers/AssetManager.h index 47c44a5b..3c2622ce 100644 --- a/Tetragrama/Managers/AssetManager.h +++ b/Tetragrama/Managers/AssetManager.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include #include @@ -152,4 +152,4 @@ namespace Tetragrama::Managers } return nullptr; } -} // namespace Tetragrama::Managers \ No newline at end of file +} // namespace Tetragrama::Managers diff --git a/Tetragrama/Messengers/Message.h b/Tetragrama/Messengers/Message.h index efc4e29b..d715d873 100644 --- a/Tetragrama/Messengers/Message.h +++ b/Tetragrama/Messengers/Message.h @@ -79,7 +79,7 @@ namespace Tetragrama::Messengers T* m_value{nullptr}; }; - template + template struct ArrayValueMessage : public EmptyMessage { ArrayValueMessage() {} diff --git a/Tetragrama/Messengers/Messenger.h b/Tetragrama/Messengers/Messenger.h index 4e3249a6..124ffb2a 100644 --- a/Tetragrama/Messengers/Messenger.h +++ b/Tetragrama/Messengers/Messenger.h @@ -1,8 +1,8 @@ #pragma once -#include -#include +#include +#include #include -#include +#include #include #include #include @@ -107,42 +107,42 @@ namespace Tetragrama::Messengers } } - template >> - std::future SendAsync(std::string_view token, TMessage&& message, std::function&& send_completion_callback) - { - // try - //{ - // std::unique_lock lock(m_mutex); - // { - // std::string routing_token = token.data(); - // if (!m_routing_map.contains(routing_token)) - // { - // return; - // } - - // ComponentActionCollection& actions = m_routing_map[routing_token]; - - // for (const ComponentActionPair& recipient : actions) - // { - // TRecipient* component = reinterpret_cast(recipient.first); - - // if (component) - // { - // action_callback* callback = reinterpret_cast(recipient.second); - // co_await callback(message); - // } - // } - // if (send_completion_callback) - // { - // send_completion_callback(); - // } - // } - //} - // catch (...) - //{ - //} - } - + /* template >> + std::future SendAsync(std::string_view token, TMessage&& message, std::function&& send_completion_callback) + { + // try + //{ + // std::unique_lock lock(m_mutex); + // { + // std::string routing_token = token.data(); + // if (!m_routing_map.contains(routing_token)) + // { + // return; + // } + + // ComponentActionCollection& actions = m_routing_map[routing_token]; + + // for (const ComponentActionPair& recipient : actions) + // { + // TRecipient* component = reinterpret_cast(recipient.first); + + // if (component) + // { + // action_callback* callback = reinterpret_cast(recipient.second); + // co_await callback(message); + // } + // } + // if (send_completion_callback) + // { + // send_completion_callback(); + // } + // } + //} + // catch (...) + //{ + //} + } + */ template void Register(TRecipient* const recipient, std::string_view token, action_callback&& callback) { diff --git a/Tetragrama/Serializers/EditorSceneSerializer.cpp b/Tetragrama/Serializers/EditorSceneSerializer.cpp index f2193de2..85b258ea 100644 --- a/Tetragrama/Serializers/EditorSceneSerializer.cpp +++ b/Tetragrama/Serializers/EditorSceneSerializer.cpp @@ -1,10 +1,10 @@ -#include -#include -#include -#include -#include +#include +#include +#include #include +#include #include +#include using namespace ZEngine::Helpers; using namespace ZEngine::Core::Containers; diff --git a/Tetragrama/Serializers/EditorSceneSerializer.h b/Tetragrama/Serializers/EditorSceneSerializer.h index e1cf0ef6..f9a45df6 100644 --- a/Tetragrama/Serializers/EditorSceneSerializer.h +++ b/Tetragrama/Serializers/EditorSceneSerializer.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace Tetragrama::Serializers { @@ -10,4 +10,4 @@ namespace Tetragrama::Serializers virtual void Serialize(ZRawPtr(EditorScene) const data) override; virtual void Deserialize(std::string_view filename) override; }; -} // namespace Tetragrama::Serializers \ No newline at end of file +} // namespace Tetragrama::Serializers diff --git a/Tetragrama/Serializers/Serializer.h b/Tetragrama/Serializers/Serializer.h index a3952c97..6705edf1 100644 --- a/Tetragrama/Serializers/Serializer.h +++ b/Tetragrama/Serializers/Serializer.h @@ -1,8 +1,7 @@ #pragma once #include -#include +#include #include -#include #include #include @@ -97,4 +96,4 @@ namespace Tetragrama::Serializers virtual void Serialize(ZRawPtr(TSerializerData) const data) = 0; virtual void Deserialize(std::string_view filename) = 0; }; -} // namespace Tetragrama::Serializers \ No newline at end of file +} // namespace Tetragrama::Serializers diff --git a/Tetragrama/pch.cpp b/Tetragrama/pch.cpp deleted file mode 100644 index 8781bfd8..00000000 --- a/Tetragrama/pch.cpp +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/Tetragrama/pch.h b/Tetragrama/pch.h deleted file mode 100644 index 0866703a..00000000 --- a/Tetragrama/pch.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include diff --git a/ZEngine/CMakeLists.txt b/ZEngine/CMakeLists.txt index 2abca89f..4f988293 100644 --- a/ZEngine/CMakeLists.txt +++ b/ZEngine/CMakeLists.txt @@ -1,23 +1,141 @@ -cmake_minimum_required (VERSION 3.17) +project( + ZEngine + VERSION 1.0 + DESCRIPTION + "ZEngine is the core engine lib that provides abstraction on top of OpenGL/DirectX/Metal" + LANGUAGES CXX) -project (ZEngine - VERSION 1.0 - DESCRIPTION "ZEngine is the core engine lib that provides abstraction on top of OpenGL/DirectX/Metal" - LANGUAGES CXX C -) +find_package(Vulkan REQUIRED) -# Compiler verification in Linux +set(IMGUIDIR ${FETCHCONTENT_BASE_DIR}/imgui-src) + +add_library(imgui STATIC) + +target_sources( + imgui + PRIVATE ${IMGUIDIR}/imgui.cpp + ${IMGUIDIR}/imgui_demo.cpp + ${IMGUIDIR}/imgui_draw.cpp + ${IMGUIDIR}/imgui_tables.cpp + ${IMGUIDIR}/imgui_widgets.cpp + ${IMGUIDIR}/misc/cpp/imgui_stdlib.cpp + ${IMGUIDIR}/backends/imgui_impl_glfw.cpp + ${IMGUIDIR}/backends/imgui_impl_vulkan.cpp) + +target_include_directories(imgui PUBLIC ${IMGUIDIR}) + +target_compile_definitions(imgui PUBLIC GLFW_INCLUDE_VULKAN IMGUI_DEFINE_MATH_OPERATORS) + +target_link_libraries(imgui PUBLIC glfw Vulkan::Vulkan) + +add_library(imguizmo STATIC) + +target_sources(imguizmo + PRIVATE ${FETCHCONTENT_BASE_DIR}/imguizmo-src/ImGuizmo.cpp) + +target_include_directories(imguizmo + PUBLIC ${FETCHCONTENT_BASE_DIR}/imguizmo-src) + +target_link_libraries(imguizmo PUBLIC imgui) + +add_library(zEngineLib STATIC) + +target_include_directories(zEngineLib + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${FETCHCONTENT_BASE_DIR} + ) + +target_link_libraries( + zEngineLib + PUBLIC fmt::fmt + glm::glm + imguizmo + spdlog::spdlog + EnTT::EnTT + assimp::assimp + stduuid + yaml-cpp::yaml-cpp + spirv-cross-core + SPIRV-Tools + glslang::glslang + glslang::glslang-default-resource-limits + glslang::SPIRV + glslang::SPVRemapper + GPUOpen::VulkanMemoryAllocator + CLI11::CLI11 + ) + +# ZEngine source files # -if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - if ((NOT ${CMAKE_CXX_COMPILER_VERSION} MATCHES "11.*.*") AND (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")) - message(FATAL_ERROR "CLANG compiler version should be 11.*.* !") - elseif ((NOT ${CMAKE_CXX_COMPILER_VERSION} MATCHES "11.*.*") AND (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")) - message(FATAL_ERROR "GNU compiler version should be 11.*.* !") - endif () -endif () - -set (CMAKE_CXX_STANDARD_REQUIRED ON) -set (CMAKE_CXX_STANDARD 20) - -add_subdirectory (ZEngine) -add_subdirectory (tests) \ No newline at end of file + +target_sources( + zEngineLib + PRIVATE + ZEngine/Engine.cpp + ZEngine/Windows/Inputs/IDevice.cpp + ZEngine/Windows/CoreWindow.cpp + ZEngine/Helpers/ThreadPool.cpp + ZEngine/Helpers/Helper.cpp + ZEngine/Logging/Logger.cpp + ZEngine/Serializers/GraphicScene3DSerializer.cpp + ZEngine/Core/IPipelineStage.cpp + ZEngine/Core/CoroutineScheduler.cpp + ZEngine/Core/Memory/Allocator.cpp + ZEngine/Core/IPipelineContext.cpp + ZEngine/Hardwares/VulkanLayer.cpp + ZEngine/Hardwares/VulkanDevice.cpp + ZEngine/Maths/Math.cpp + ZEngine/Rendering/Primitives/Semaphore.cpp + ZEngine/Rendering/Primitives/Fence.cpp + ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp + ZEngine/Rendering/Scenes/GraphicScene.cpp + ZEngine/Rendering/Meshes/MeshBuilder.cpp + ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp + ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp + ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp + ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp + ZEngine/Rendering/Shaders/Shader.cpp + ZEngine/Rendering/Shaders/ShaderReader.cpp + ZEngine/Rendering/Geometries/CubeGeometry.cpp + ZEngine/Rendering/Geometries/QuadGeometry.cpp + ZEngine/Rendering/Geometries/SquareGeometry.cpp + ZEngine/Rendering/Entities/GraphicSceneEntity.cpp + ZEngine/Rendering/Renderers/RenderGraph.cpp + ZEngine/Rendering/Renderers/GraphicRenderer.cpp + ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp + ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp + ZEngine/Rendering/Renderers/ImGUIRenderer.cpp + ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp + ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp + ZEngine/Rendering/Renderers/RendererPasses.cpp + ZEngine/Rendering/Cameras/PerspectiveCamera.cpp + ZEngine/Rendering/Pools/CommandPool.cpp + ZEngine/Rendering/Buffers/FrameBuffer.cpp + ZEngine/Rendering/Textures/Texture2D.cpp + ZEngine/Rendering/Textures/Texture.cpp + ZEngine/Rendering/Materials/StandardMaterial.cpp + ZEngine/Rendering/Materials/ShaderMaterial.cpp + ZEngine/Rendering/Materials/BasicMaterial.cpp + ) + + +if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") + target_compile_definitions(zEngineLib PUBLIC ENABLE_VULKAN_VALIDATION_LAYER) +endif() + +target_compile_definitions( + zEngineLib PUBLIC ZENGINE_PLATFORM ENABLE_VULKAN_SYNCHRONIZATION_LAYER + YAML_CPP_STATIC_DEFINE) + +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + target_compile_definitions(zEngineLib PUBLIC VK_USE_PLATFORM_WIN32_KHR NOMINMAX) +endif() + +if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + target_link_libraries(zEngineLib PRIVATE stdc++fs) +endif() + +target_compile_definitions(zEngineLib PUBLIC GLM_ENABLE_EXPERIMENTAL) + +add_subdirectory(tests) diff --git a/ZEngine/ZEngine/CMakeLists.txt b/ZEngine/ZEngine/CMakeLists.txt deleted file mode 100644 index 70dad617..00000000 --- a/ZEngine/ZEngine/CMakeLists.txt +++ /dev/null @@ -1,82 +0,0 @@ -include(${EXTERNAL_DIR}/externals.cmake) - -file (GLOB_RECURSE HEADER_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) -file (GLOB_RECURSE CPP_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) -file (GLOB_RECURSE RESOURCE_FILES_LIST CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/../Resources/Shaders/*.*) - -source_group (TREE ${PROJECT_SOURCE_DIR}/ZEngine PREFIX "Source Files" FILES ${HEADER_FILES_LIST} ${CPP_FILES_LIST}) -source_group (TREE ${PROJECT_SOURCE_DIR}/../Resources PREFIX "Resources Files" FILES ${RESOURCE_FILES_LIST}) - -# ZEngine source files -# -add_library (zEngineLib - STATIC - ${HEADER_FILES_LIST} - ${CPP_FILES_LIST} - ${RESOURCE_FILES_LIST} - ${EXTERNAL_DIR}/ImGuizmo/ImGuizmo.h - ${EXTERNAL_DIR}/ImGuizmo/ImGuizmo.cpp -) - -target_include_directories (zEngineLib - PUBLIC - . - ./Core - ./Core/Maths - ./Core/Memory - ./Core/Containers - ./Hardwares - ./Helpers - ./Layers - ./Logging - ./Rendering - ./Rendering/Entities - ./Rendering/Meshes - ./Rendering/Buffers - ./Rendering/Cameras - ./Rendering/Pools - ./Rendering/Primitives - ./Rendering/Renderers - ./Rendering/Renderers/Pipelines - ./Rendering/Renderers/RenderPasses - ./Rendering/Renderers/Storages - ./Rendering/Scenes - ./Rendering/Shaders - ./Rendering/Shaders/Compilers - ./Rendering/Specifications - ./Rendering/Textures - ./Windows - ./Windows/Events - ./Windows/Inputs - ./Windows/Layers - ./Managers - ./Serializers - ${EXTERNAL_DIR} - ${EXTERNAL_INCLUDE_DIRS} -) - -target_precompile_headers(zEngineLib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/pch.h) - -if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") - target_compile_definitions (zEngineLib PUBLIC ENABLE_VULKAN_VALIDATION_LAYER) -endif() -target_compile_definitions (zEngineLib - PUBLIC - ZENGINE_PLATFORM - ENABLE_VULKAN_SYNCHRONIZATION_LAYER - YAML_CPP_STATIC_DEFINE -) - -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - target_compile_definitions (zEngineLib PUBLIC VK_USE_PLATFORM_WIN32_KHR) -endif() - -if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - target_link_libraries(zEngineLib PRIVATE stdc++fs) -endif () - -target_link_libraries (zEngineLib PUBLIC imported::External_libs) - -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - target_link_libraries (zEngineLib PUBLIC imported::cppwinrt_headers WindowsApp.lib) -endif() \ No newline at end of file diff --git a/ZEngine/ZEngine/Core/Containers/Array.h b/ZEngine/ZEngine/Core/Containers/Array.h index 84b95337..a7b6f920 100644 --- a/ZEngine/ZEngine/Core/Containers/Array.h +++ b/ZEngine/ZEngine/Core/Containers/Array.h @@ -1,7 +1,6 @@ #pragma once -#include -#include -#include +#include +#include using namespace ZEngine::Core::Memory; @@ -236,4 +235,4 @@ namespace ZEngine::Core::Containers T* m_data; size_t m_size; }; -} // namespace ZEngine::Core::Containers \ No newline at end of file +} // namespace ZEngine::Core::Containers diff --git a/ZEngine/ZEngine/Core/Containers/HashMap.h b/ZEngine/ZEngine/Core/Containers/HashMap.h index 848e46f9..c6676d93 100644 --- a/ZEngine/ZEngine/Core/Containers/HashMap.h +++ b/ZEngine/ZEngine/Core/Containers/HashMap.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include using namespace ZEngine::Core::Memory; diff --git a/ZEngine/ZEngine/Core/Containers/InitializerList.h b/ZEngine/ZEngine/Core/Containers/InitializerList.h index 18ec23a5..2a758831 100644 --- a/ZEngine/ZEngine/Core/Containers/InitializerList.h +++ b/ZEngine/ZEngine/Core/Containers/InitializerList.h @@ -1,5 +1,5 @@ #pragma once -#include +#include using namespace ZEngine::Core::Memory; @@ -79,4 +79,4 @@ namespace ZEngine::Core::Containers return InitializerList(buffer, count); } -} // namespace ZEngine::Core::Containers \ No newline at end of file +} // namespace ZEngine::Core::Containers diff --git a/ZEngine/ZEngine/Core/Containers/Strings.h b/ZEngine/ZEngine/Core/Containers/Strings.h index 60012c37..9a5d25b0 100644 --- a/ZEngine/ZEngine/Core/Containers/Strings.h +++ b/ZEngine/ZEngine/Core/Containers/Strings.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include namespace ZEngine::Core::Containers { @@ -285,4 +285,4 @@ namespace ZEngine::Core::Containers size_type m_size; }; -} // namespace ZEngine::Core::Containers \ No newline at end of file +} // namespace ZEngine::Core::Containers diff --git a/ZEngine/ZEngine/Core/CoreEvent.h b/ZEngine/ZEngine/Core/CoreEvent.h index a2469a2f..bd955e25 100644 --- a/ZEngine/ZEngine/Core/CoreEvent.h +++ b/ZEngine/ZEngine/Core/CoreEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #define EVENT_TYPE(value) \ diff --git a/ZEngine/ZEngine/Core/Coroutine.h b/ZEngine/ZEngine/Core/Coroutine.h index f717d604..e5284206 100644 --- a/ZEngine/ZEngine/Core/Coroutine.h +++ b/ZEngine/ZEngine/Core/Coroutine.h @@ -11,7 +11,7 @@ #error Compiler support for coroutines missing! #endif -#include +#include #if defined(__cpp_impl_coroutine) || !defined(_MSC_VER) namespace ZENGINE_COROUTINE_NAMESPACE diff --git a/ZEngine/ZEngine/Core/CoroutineScheduler.cpp b/ZEngine/ZEngine/Core/CoroutineScheduler.cpp index 005d6626..3554f3a9 100644 --- a/ZEngine/ZEngine/Core/CoroutineScheduler.cpp +++ b/ZEngine/ZEngine/Core/CoroutineScheduler.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Core/CoroutineScheduler.h b/ZEngine/ZEngine/Core/CoroutineScheduler.h index 6ffa8952..41c18b2a 100644 --- a/ZEngine/ZEngine/Core/CoroutineScheduler.h +++ b/ZEngine/ZEngine/Core/CoroutineScheduler.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include #include @@ -15,7 +15,7 @@ namespace ZEngine::Core ReadyCallback Ready = nullptr; ExecuteCallback Action = nullptr; - operator bool() noexcept + operator bool() noexcept { return (Ready && Action); } diff --git a/ZEngine/ZEngine/Core/EventDispatcher.h b/ZEngine/ZEngine/Core/EventDispatcher.h index 041f1886..8ca31375 100644 --- a/ZEngine/ZEngine/Core/EventDispatcher.h +++ b/ZEngine/ZEngine/Core/EventDispatcher.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include namespace ZEngine::Core diff --git a/ZEngine/ZEngine/Core/IEventable.h b/ZEngine/ZEngine/Core/IEventable.h index 974ffdc2..939afa4d 100644 --- a/ZEngine/ZEngine/Core/IEventable.h +++ b/ZEngine/ZEngine/Core/IEventable.h @@ -1,6 +1,6 @@ #pragma once -#include +#include namespace ZEngine::Core { diff --git a/ZEngine/ZEngine/Core/IPipeline.h b/ZEngine/ZEngine/Core/IPipeline.h index 3cd43dd6..2673baa0 100644 --- a/ZEngine/ZEngine/Core/IPipeline.h +++ b/ZEngine/ZEngine/Core/IPipeline.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Core diff --git a/ZEngine/ZEngine/Core/IPipelineContext.cpp b/ZEngine/ZEngine/Core/IPipelineContext.cpp index 1ecd2aaa..4c3a9f57 100644 --- a/ZEngine/ZEngine/Core/IPipelineContext.cpp +++ b/ZEngine/ZEngine/Core/IPipelineContext.cpp @@ -1,4 +1,4 @@ -#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Core/IPipelineStage.cpp b/ZEngine/ZEngine/Core/IPipelineStage.cpp index 1a28806d..82723743 100644 --- a/ZEngine/ZEngine/Core/IPipelineStage.cpp +++ b/ZEngine/ZEngine/Core/IPipelineStage.cpp @@ -1,4 +1,4 @@ -#include +#include namespace ZEngine::Core { diff --git a/ZEngine/ZEngine/Core/IRenderable.h b/ZEngine/ZEngine/Core/IRenderable.h index 8d9939b3..81d2877e 100644 --- a/ZEngine/ZEngine/Core/IRenderable.h +++ b/ZEngine/ZEngine/Core/IRenderable.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Core { diff --git a/ZEngine/ZEngine/Core/ISerializer.h b/ZEngine/ZEngine/Core/ISerializer.h index 09e2e98e..43ec4934 100644 --- a/ZEngine/ZEngine/Core/ISerializer.h +++ b/ZEngine/ZEngine/Core/ISerializer.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Core diff --git a/ZEngine/ZEngine/Core/IUpdatable.h b/ZEngine/ZEngine/Core/IUpdatable.h index cc8c5f2c..0ea8d45c 100644 --- a/ZEngine/ZEngine/Core/IUpdatable.h +++ b/ZEngine/ZEngine/Core/IUpdatable.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Core { diff --git a/ZEngine/ZEngine/Core/Maths/Matrix.h b/ZEngine/ZEngine/Core/Maths/Matrix.h index ec67cf8d..1d36fc09 100644 --- a/ZEngine/ZEngine/Core/Maths/Matrix.h +++ b/ZEngine/ZEngine/Core/Maths/Matrix.h @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include namespace ZEngine::Core::Maths diff --git a/ZEngine/ZEngine/Core/Maths/Vec.h b/ZEngine/ZEngine/Core/Maths/Vec.h index 904599c1..c97592db 100644 --- a/ZEngine/ZEngine/Core/Maths/Vec.h +++ b/ZEngine/ZEngine/Core/Maths/Vec.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include @@ -358,4 +358,4 @@ namespace ZEngine::Core::Maths using IVec2 = Vec2; -} // namespace ZEngine::Core::Maths \ No newline at end of file +} // namespace ZEngine::Core::Maths diff --git a/ZEngine/ZEngine/Core/Memory/Allocator.cpp b/ZEngine/ZEngine/Core/Memory/Allocator.cpp index c79cbb1f..15b9485a 100644 --- a/ZEngine/ZEngine/Core/Memory/Allocator.cpp +++ b/ZEngine/ZEngine/Core/Memory/Allocator.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include namespace ZEngine::Core::Memory { @@ -185,4 +184,4 @@ namespace ZEngine::Core::Memory head = node; } } -} // namespace ZEngine::Core::Memory \ No newline at end of file +} // namespace ZEngine::Core::Memory diff --git a/ZEngine/ZEngine/Core/Memory/Allocator.h b/ZEngine/ZEngine/Core/Memory/Allocator.h index 3ee2916a..6e1e9967 100644 --- a/ZEngine/ZEngine/Core/Memory/Allocator.h +++ b/ZEngine/ZEngine/Core/Memory/Allocator.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include diff --git a/ZEngine/ZEngine/Core/Memory/MemoryManager.h b/ZEngine/ZEngine/Core/Memory/MemoryManager.h index b49a2bda..cb994cee 100644 --- a/ZEngine/ZEngine/Core/Memory/MemoryManager.h +++ b/ZEngine/ZEngine/Core/Memory/MemoryManager.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Core::Memory { @@ -12,14 +12,14 @@ namespace ZEngine::Core::Memory { void Initialize(const MemoryConfiguration& config) { - this->ArenaAllocator.Initialize(config.DefaultSize); + m_ArenaAllocator.Initialize(config.DefaultSize); } void Shutdowm() { - ArenaAllocator.Shutdown(); + m_ArenaAllocator.Shutdown(); } - ArenaAllocator ArenaAllocator = {}; + ArenaAllocator m_ArenaAllocator = {}; }; -} // namespace ZEngine::Core::Memory \ No newline at end of file +} // namespace ZEngine::Core::Memory diff --git a/ZEngine/ZEngine/Engine.cpp b/ZEngine/ZEngine/Engine.cpp index ed1d7817..2c241d56 100644 --- a/ZEngine/ZEngine/Engine.cpp +++ b/ZEngine/ZEngine/Engine.cpp @@ -1,8 +1,7 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include namespace ZEngine { diff --git a/ZEngine/ZEngine/Engine.h b/ZEngine/ZEngine/Engine.h index 0d97b942..929e5b54 100644 --- a/ZEngine/ZEngine/Engine.h +++ b/ZEngine/ZEngine/Engine.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace ZEngine { diff --git a/ZEngine/ZEngine/EngineConfiguration.h b/ZEngine/ZEngine/EngineConfiguration.h index 2f4b8050..430be74c 100644 --- a/ZEngine/ZEngine/EngineConfiguration.h +++ b/ZEngine/ZEngine/EngineConfiguration.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include namespace ZEngine { diff --git a/ZEngine/ZEngine/Event/EngineClosedEvent.h b/ZEngine/ZEngine/Event/EngineClosedEvent.h index 260a1033..7ef00853 100644 --- a/ZEngine/ZEngine/Event/EngineClosedEvent.h +++ b/ZEngine/ZEngine/Event/EngineClosedEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Event diff --git a/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp b/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp index 3da77ce0..6ab24ebe 100644 --- a/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp +++ b/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * We define those Macros before inclusion of VulkanDevice.h so we can enable impl from VMA header @@ -7,13 +7,13 @@ #define VMA_IMPLEMENTATION #define VMA_VULKAN_VERSION 1003000 // Vulkan 1.3 -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include using namespace std::chrono_literals; using namespace ZEngine::Rendering::Primitives; @@ -370,7 +370,7 @@ namespace ZEngine::Hardwares * Creating VMA Allocators */ VmaAllocatorCreateInfo vma_allocator_create_info = {.physicalDevice = PhysicalDevice, .device = LogicalDevice, .instance = Instance, .vulkanApiVersion = VK_API_VERSION_1_3}; - ZENGINE_VALIDATE_ASSERT(vmaCreateAllocator(&vma_allocator_create_info, &VmaAllocator) == VK_SUCCESS, "Failed to create VMA Allocator") + ZENGINE_VALIDATE_ASSERT(vmaCreateAllocator(&vma_allocator_create_info, &Vma_Allocator) == VK_SUCCESS, "Failed to create VMA Allocator") m_buffer_manager.Initialize(this); EnqueuedCommandbuffers.init(Arena, m_buffer_manager.TotalCommandBufferCount, m_buffer_manager.TotalCommandBufferCount); @@ -487,7 +487,7 @@ namespace ZEngine::Hardwares void VulkanDevice::Dispose() { - vmaDestroyAllocator(VmaAllocator); + vmaDestroyAllocator(Vma_Allocator); if (__destroyDebugMessengerPtr) { @@ -703,7 +703,7 @@ namespace ZEngine::Hardwares } BufferView& buffer = DirtyBuffers[handle]; - vmaDestroyBuffer(VmaAllocator, buffer.Handle, buffer.Allocation); + vmaDestroyBuffer(Vma_Allocator, buffer.Handle, buffer.Allocation); DirtyBuffers.Remove(handle); } } @@ -724,7 +724,7 @@ namespace ZEngine::Hardwares vkDestroyImageView(LogicalDevice, buffer.ViewHandle, nullptr); vkDestroySampler(LogicalDevice, buffer.Sampler, nullptr); - vmaDestroyImage(VmaAllocator, buffer.Handle, buffer.Allocation); + vmaDestroyImage(Vma_Allocator, buffer.Handle, buffer.Allocation); DirtyBufferImages.Remove(handle); } @@ -735,9 +735,9 @@ namespace ZEngine::Hardwares void* mapped_memory; if (data) { - ZENGINE_VALIDATE_ASSERT(vmaMapMemory(VmaAllocator, buffer.Allocation, &mapped_memory) == VK_SUCCESS, "Failed to map memory") + ZENGINE_VALIDATE_ASSERT(vmaMapMemory(Vma_Allocator, buffer.Allocation, &mapped_memory) == VK_SUCCESS, "Failed to map memory") ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(mapped_memory, data_size, data, data_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") - vmaUnmapMemory(VmaAllocator, buffer.Allocation); + vmaUnmapMemory(Vma_Allocator, buffer.Allocation); } } @@ -754,7 +754,7 @@ namespace ZEngine::Hardwares allocation_create_info.usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE; allocation_create_info.flags = vma_create_flags; - ZENGINE_VALIDATE_ASSERT(vmaCreateBuffer(VmaAllocator, &buffer_create_info, &allocation_create_info, &(buffer_view.Handle), &(buffer_view.Allocation), nullptr) == VK_SUCCESS, "Failed to create buffer"); + ZENGINE_VALIDATE_ASSERT(vmaCreateBuffer(Vma_Allocator, &buffer_create_info, &allocation_create_info, &(buffer_view.Handle), &(buffer_view.Allocation), nullptr) == VK_SUCCESS, "Failed to create buffer"); // Metadata info buffer_view.FrameIndex = CurrentFrameIndex; @@ -800,7 +800,7 @@ namespace ZEngine::Hardwares allocation_create_info.usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE; allocation_create_info.flags = VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT; - ZENGINE_VALIDATE_ASSERT(vmaCreateImage(VmaAllocator, &image_create_info, &allocation_create_info, &(buffer_image.Handle), &(buffer_image.Allocation), nullptr) == VK_SUCCESS, "Failed to create buffer"); + ZENGINE_VALIDATE_ASSERT(vmaCreateImage(Vma_Allocator, &image_create_info, &allocation_create_info, &(buffer_image.Handle), &(buffer_image.Allocation), nullptr) == VK_SUCCESS, "Failed to create buffer"); buffer_image.ViewHandle = CreateImageView(buffer_image.Handle, image_format, image_view_type, image_aspect_flag, layer_count); buffer_image.Sampler = CreateImageSampler(); @@ -1317,7 +1317,7 @@ namespace ZEngine::Hardwares BufferView& buffer = DirtyBuffers[handle]; if (buffer && buffer.FrameIndex == CurrentFrameIndex) { - vmaDestroyBuffer(VmaAllocator, buffer.Handle, buffer.Allocation); + vmaDestroyBuffer(Vma_Allocator, buffer.Handle, buffer.Allocation); buffer.Handle = VK_NULL_HANDLE; buffer.Allocation = VK_NULL_HANDLE; DirtyBuffers.Remove(handle); @@ -1343,7 +1343,7 @@ namespace ZEngine::Hardwares { vkDestroyImageView(LogicalDevice, buffer.ViewHandle, nullptr); vkDestroySampler(LogicalDevice, buffer.Sampler, nullptr); - vmaDestroyImage(VmaAllocator, buffer.Handle, buffer.Allocation); + vmaDestroyImage(Vma_Allocator, buffer.Handle, buffer.Allocation); buffer.Handle = VK_NULL_HANDLE; buffer.Allocation = VK_NULL_HANDLE; DirtyBufferImages.Remove(handle); @@ -1357,7 +1357,7 @@ namespace ZEngine::Hardwares ZENGINE_CORE_INFO("[*] Dirty Resource Collector stopped...") } - Helpers::Handle VulkanDevice::CompileShader(Rendering::Specifications::ShaderSpecification& spec) + Helpers::Handle VulkanDevice::CompileShader(Rendering::Specifications::ShaderSpecificationType& spec) { const char* base_dir = "Shaders/Cache/"; const char* vertex_name_part = "_vertex.spv"; @@ -1879,12 +1879,12 @@ namespace ZEngine::Hardwares } VkMemoryPropertyFlags mem_prop_flags; - vmaGetAllocationMemoryProperties(m_device->VmaAllocator, m_vertex_buffer.Allocation, &mem_prop_flags); + vmaGetAllocationMemoryProperties(m_device->Vma_Allocator, m_vertex_buffer.Allocation, &mem_prop_flags); if (mem_prop_flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) { VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, m_vertex_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, m_vertex_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") @@ -1895,12 +1895,12 @@ namespace ZEngine::Hardwares BufferView staging_buffer = m_device->CreateBuffer(static_cast(this->m_byte_size), VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT); VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, staging_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, staging_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") - ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->VmaAllocator, staging_buffer.Allocation, 0, static_cast(this->m_byte_size)) == VK_SUCCESS, "Failed to flush allocation") + ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->Vma_Allocator, staging_buffer.Allocation, 0, static_cast(this->m_byte_size)) == VK_SUCCESS, "Failed to flush allocation") m_device->CopyBuffer(staging_buffer, m_vertex_buffer, static_cast(this->m_byte_size)); } @@ -1938,12 +1938,12 @@ namespace ZEngine::Hardwares } VkMemoryPropertyFlags mem_prop_flags; - vmaGetAllocationMemoryProperties(m_device->VmaAllocator, m_storage_buffer.Allocation, &mem_prop_flags); + vmaGetAllocationMemoryProperties(m_device->Vma_Allocator, m_storage_buffer.Allocation, &mem_prop_flags); if (mem_prop_flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) { VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, m_storage_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, m_storage_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") @@ -1954,12 +1954,12 @@ namespace ZEngine::Hardwares BufferView staging_buffer = m_device->CreateBuffer(static_cast(this->m_byte_size), VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT); VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, staging_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, staging_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") - ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->VmaAllocator, staging_buffer.Allocation, 0, static_cast(this->m_byte_size)) == VK_SUCCESS, "Failed to flush allocation") + ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->Vma_Allocator, staging_buffer.Allocation, 0, static_cast(this->m_byte_size)) == VK_SUCCESS, "Failed to flush allocation") m_device->CopyBuffer(staging_buffer, m_storage_buffer, static_cast(this->m_byte_size)); } @@ -1998,12 +1998,12 @@ namespace ZEngine::Hardwares } VkMemoryPropertyFlags mem_prop_flags; - vmaGetAllocationMemoryProperties(m_device->VmaAllocator, m_index_buffer.Allocation, &mem_prop_flags); + vmaGetAllocationMemoryProperties(m_device->Vma_Allocator, m_index_buffer.Allocation, &mem_prop_flags); if (mem_prop_flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) { VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, m_index_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, m_index_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") @@ -2014,12 +2014,12 @@ namespace ZEngine::Hardwares BufferView staging_buffer = m_device->CreateBuffer(static_cast(this->m_byte_size), VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT); VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, staging_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, staging_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") - ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->VmaAllocator, staging_buffer.Allocation, 0, static_cast(this->m_byte_size)) == VK_SUCCESS, "Failed to flush allocation") + ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->Vma_Allocator, staging_buffer.Allocation, 0, static_cast(this->m_byte_size)) == VK_SUCCESS, "Failed to flush allocation") m_device->CopyBuffer(staging_buffer, m_index_buffer, static_cast(this->m_byte_size)); } @@ -2058,12 +2058,12 @@ namespace ZEngine::Hardwares } VkMemoryPropertyFlags mem_prop_flags; - vmaGetAllocationMemoryProperties(m_device->VmaAllocator, m_indirect_buffer.Allocation, &mem_prop_flags); + vmaGetAllocationMemoryProperties(m_device->Vma_Allocator, m_indirect_buffer.Allocation, &mem_prop_flags); if (mem_prop_flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) { VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, m_indirect_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, m_indirect_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") @@ -2074,12 +2074,12 @@ namespace ZEngine::Hardwares BufferView staging_buffer = m_device->CreateBuffer(static_cast(this->m_byte_size), VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT); VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, staging_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, staging_buffer.Allocation, &allocation_info); if (data && allocation_info.pMappedData) { ZENGINE_VALIDATE_ASSERT(Helpers::secure_memcpy(allocation_info.pMappedData, allocation_info.size, data, this->m_byte_size) == Helpers::MEMORY_OP_SUCCESS, "Failed to perform memory copy operation") - ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->VmaAllocator, staging_buffer.Allocation, 0, VK_WHOLE_SIZE) == VK_SUCCESS, "Failed to flush allocation") + ZENGINE_VALIDATE_ASSERT(vmaFlushAllocation(m_device->Vma_Allocator, staging_buffer.Allocation, 0, VK_WHOLE_SIZE) == VK_SUCCESS, "Failed to flush allocation") m_device->CopyBuffer(staging_buffer, m_indirect_buffer, static_cast(this->m_byte_size)); } @@ -2120,7 +2120,7 @@ namespace ZEngine::Hardwares } VmaAllocationInfo allocation_info = {}; - vmaGetAllocationInfo(m_device->VmaAllocator, m_uniform_buffer.Allocation, &allocation_info); + vmaGetAllocationInfo(m_device->Vma_Allocator, m_uniform_buffer.Allocation, &allocation_info); if (allocation_info.pMappedData) { @@ -2149,13 +2149,13 @@ namespace ZEngine::Hardwares ZENGINE_VALIDATE_ASSERT(m_width > 0, "Image width must be greater then zero") ZENGINE_VALIDATE_ASSERT(m_height > 0, "Image height must be greater then zero") - Specifications::ImageViewType image_view_type = Specifications::ImageViewType::TYPE_2D; - Specifications::ImageCreateFlag image_create_flag = Specifications::ImageCreateFlag::NONE; + Specifications::ImageViewTypeEnum image_view_type = Specifications::ImageViewTypeEnum::TYPE_2D; + Specifications::ImageCreateFlagEnum image_create_flag = Specifications::ImageCreateFlagEnum::NONE; if (spec.BufferUsageType == Specifications::ImageBufferUsageType::CUBEMAP) { - image_view_type = Specifications::ImageViewType::TYPE_CUBE; - image_create_flag = Specifications::ImageCreateFlag::CUBE_COMPATIBLE_BIT; + image_view_type = Specifications::ImageViewTypeEnum::TYPE_CUBE; + image_create_flag = Specifications::ImageCreateFlagEnum::CUBE_COMPATIBLE_BIT; } m_buffer_image = m_device->CreateImage(m_width, m_height, VK_IMAGE_TYPE_2D, Specifications::ImageViewTypeMap[VALUE_FROM_SPEC_MAP(image_view_type)], spec.ImageFormat, VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_LAYOUT_UNDEFINED, spec.ImageUsage, VK_SHARING_MODE_EXCLUSIVE, VK_SAMPLE_COUNT_1_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, spec.ImageAspectFlag, spec.LayerCount, Specifications::ImageCreateFlagMap[VALUE_FROM_SPEC_MAP(image_create_flag)]); diff --git a/ZEngine/ZEngine/Hardwares/VulkanDevice.h b/ZEngine/ZEngine/Hardwares/VulkanDevice.h index 0353dbfd..614a35f8 100644 --- a/ZEngine/ZEngine/Hardwares/VulkanDevice.h +++ b/ZEngine/ZEngine/Hardwares/VulkanDevice.h @@ -2,22 +2,23 @@ #include #include // clang-format off -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include // clang-format on namespace ZEngine::Windows @@ -62,7 +63,7 @@ namespace ZEngine::Hardwares VkBuffer Handle = VK_NULL_HANDLE; VmaAllocation Allocation = nullptr; - operator bool() const + operator bool() const { return (Handle != VK_NULL_HANDLE); } @@ -76,7 +77,7 @@ namespace ZEngine::Hardwares VkSampler Sampler{VK_NULL_HANDLE}; VmaAllocation Allocation{nullptr}; - operator bool() const + operator bool() const { return (Handle != VK_NULL_HANDLE); } @@ -690,7 +691,7 @@ namespace ZEngine::Hardwares VkPhysicalDeviceFeatures PhysicalDeviceFeature = {}; VkPhysicalDeviceMemoryProperties PhysicalDeviceMemoryProperties = {}; VkSwapchainKHR SwapchainHandle = VK_NULL_HANDLE; - VmaAllocator VmaAllocator = nullptr; + VmaAllocator Vma_Allocator = nullptr; Core::Containers::Array DefaultDepthFormats = {}; Rendering::Renderers::RenderPasses::Attachment* SwapchainAttachment = {}; Core::Containers::Array SwapchainImageViews = {}; @@ -759,7 +760,7 @@ namespace ZEngine::Hardwares void EnqueueCommandBuffer(CommandBuffer* const buffer); void DirtyCollector(); - Helpers::Handle CompileShader(Rendering::Specifications::ShaderSpecification& spec); + Helpers::Handle CompileShader(Rendering::Specifications::ShaderSpecificationType& spec); private: VulkanLayer m_layer = {}; diff --git a/ZEngine/ZEngine/Hardwares/VulkanLayer.cpp b/ZEngine/ZEngine/Hardwares/VulkanLayer.cpp index 04ad9382..e313e641 100644 --- a/ZEngine/ZEngine/Hardwares/VulkanLayer.cpp +++ b/ZEngine/ZEngine/Hardwares/VulkanLayer.cpp @@ -1,7 +1,6 @@ -#include -#include -#include -#include +#include +#include +#include using namespace ZEngine::Core::Containers; diff --git a/ZEngine/ZEngine/Hardwares/VulkanLayer.h b/ZEngine/ZEngine/Hardwares/VulkanLayer.h index 2ff2f78f..da58e55f 100644 --- a/ZEngine/ZEngine/Hardwares/VulkanLayer.h +++ b/ZEngine/ZEngine/Hardwares/VulkanLayer.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include namespace ZEngine::Hardwares @@ -19,4 +19,4 @@ namespace ZEngine::Hardwares VkResult GetExtensionProperties(Core::Memory::ArenaAllocator* arena, LayerProperty& layer_property, const VkPhysicalDevice* physical_device = nullptr); VkResult GetDeviceExtensionProperties(const VkPhysicalDevice* physical_device); }; -} // namespace ZEngine::Hardwares \ No newline at end of file +} // namespace ZEngine::Hardwares diff --git a/ZEngine/ZEngine/Helpers/HandleManager.h b/ZEngine/ZEngine/Helpers/HandleManager.h index 3f09da5a..3e12aa2e 100644 --- a/ZEngine/ZEngine/Helpers/HandleManager.h +++ b/ZEngine/ZEngine/Helpers/HandleManager.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include #include #define INVALID_HANDLE_INDEX -1 @@ -20,7 +20,7 @@ namespace ZEngine::Helpers { uint32_t Index = UINT32_MAX; - bool Valid() const + bool Valid() const { return Index != UINT32_MAX; } diff --git a/ZEngine/ZEngine/Helpers/Helper.cpp b/ZEngine/ZEngine/Helpers/Helper.cpp index 84053e3d..4a87af01 100644 --- a/ZEngine/ZEngine/Helpers/Helper.cpp +++ b/ZEngine/ZEngine/Helpers/Helper.cpp @@ -1,10 +1,9 @@ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Helpers/MemoryOperations.h b/ZEngine/ZEngine/Helpers/MemoryOperations.h index 235d17f1..198dc556 100644 --- a/ZEngine/ZEngine/Helpers/MemoryOperations.h +++ b/ZEngine/ZEngine/Helpers/MemoryOperations.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #ifdef __STDC_LIB_EXT1__ diff --git a/ZEngine/ZEngine/Helpers/MeshHelper.h b/ZEngine/ZEngine/Helpers/MeshHelper.h index 9e6bbba5..4643e89f 100644 --- a/ZEngine/ZEngine/Helpers/MeshHelper.h +++ b/ZEngine/ZEngine/Helpers/MeshHelper.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Helpers diff --git a/ZEngine/ZEngine/Helpers/ThreadPool.cpp b/ZEngine/ZEngine/Helpers/ThreadPool.cpp index 8b710df0..1154c9e8 100644 --- a/ZEngine/ZEngine/Helpers/ThreadPool.cpp +++ b/ZEngine/ZEngine/Helpers/ThreadPool.cpp @@ -1,7 +1,6 @@ -#include -#include +#include namespace ZEngine::Helpers { Scope ThreadPoolHelper::m_threadPool = CreateScope(); -} \ No newline at end of file +} diff --git a/ZEngine/ZEngine/Helpers/ThreadPool.h b/ZEngine/ZEngine/Helpers/ThreadPool.h index b246d60b..e4f92846 100644 --- a/ZEngine/ZEngine/Helpers/ThreadPool.h +++ b/ZEngine/ZEngine/Helpers/ThreadPool.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include @@ -90,4 +90,4 @@ namespace ZEngine::Helpers static Scope m_threadPool; }; -} // namespace ZEngine::Helpers \ No newline at end of file +} // namespace ZEngine::Helpers diff --git a/ZEngine/ZEngine/Helpers/ThreadSafeQueue.h b/ZEngine/ZEngine/Helpers/ThreadSafeQueue.h index 09287da6..0f40a93c 100644 --- a/ZEngine/ZEngine/Helpers/ThreadSafeQueue.h +++ b/ZEngine/ZEngine/Helpers/ThreadSafeQueue.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/ZEngine/ZEngine/Logging/Logger.cpp b/ZEngine/ZEngine/Logging/Logger.cpp index f4fc2c75..7a74ca43 100644 --- a/ZEngine/ZEngine/Logging/Logger.cpp +++ b/ZEngine/ZEngine/Logging/Logger.cpp @@ -1,14 +1,14 @@ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include using namespace ZEngine::Core::Memory; @@ -66,7 +66,8 @@ namespace ZEngine::Logging auto handlers_view = handlers.view(); for (const auto& handler : handlers_view) { - handler.second(LogMessage{ + handler.second( + LogMessage{ .Color = {0.0f, 1.0f, 0.0f, 1.0f}, .Message = msg }); @@ -89,7 +90,8 @@ namespace ZEngine::Logging auto handlers_view = handlers.view(); for (const auto& handler : handlers_view) { - handler.second(LogMessage{ + handler.second( + LogMessage{ .Color = {0.5f, 0.5f, 0.5f, 1.0f}, .Message = msg }); @@ -112,7 +114,8 @@ namespace ZEngine::Logging auto handlers_view = handlers.view(); for (const auto& handler : handlers_view) { - handler.second(LogMessage{ + handler.second( + LogMessage{ .Color = {1.0f, 0.5f, 0.0f, 1.0f}, .Message = msg }); @@ -135,7 +138,8 @@ namespace ZEngine::Logging auto handlers_view = handlers.view(); for (const auto& handler : handlers_view) { - handler.second(LogMessage{ + handler.second( + LogMessage{ .Color = {1.0f, 0.0f, 0.0f, 1.0f}, .Message = msg }); @@ -158,7 +162,8 @@ namespace ZEngine::Logging auto handlers_view = handlers.view(); for (const auto& handler : handlers_view) { - handler.second(LogMessage{ + handler.second( + LogMessage{ .Color = {1.0f, 0.0f, 1.0f, 1.0f}, .Message = msg }); diff --git a/ZEngine/ZEngine/Logging/Logger.h b/ZEngine/ZEngine/Logging/Logger.h index 6aa740d9..5ff61f0c 100644 --- a/ZEngine/ZEngine/Logging/Logger.h +++ b/ZEngine/ZEngine/Logging/Logger.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/ZEngine/ZEngine/Logging/LoggerDefinition.h b/ZEngine/ZEngine/Logging/LoggerDefinition.h index 799e56f5..c192b7b3 100644 --- a/ZEngine/ZEngine/Logging/LoggerDefinition.h +++ b/ZEngine/ZEngine/Logging/LoggerDefinition.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #define ZENGINE_CORE_INFO(...) ::ZEngine::Logging::Logger::Info(fmt::format(__VA_ARGS__)); diff --git a/ZEngine/ZEngine/Maths/Math.cpp b/ZEngine/ZEngine/Maths/Math.cpp index 968e9988..24037ef2 100644 --- a/ZEngine/ZEngine/Maths/Math.cpp +++ b/ZEngine/ZEngine/Maths/Math.cpp @@ -1,7 +1,4 @@ -#include -#include - -#define GLM_ENABLE_EXPERIMENTAL +#include #include namespace glm @@ -64,4 +61,4 @@ namespace glm return true; } -} // namespace glm \ No newline at end of file +} // namespace glm diff --git a/ZEngine/ZEngine/Rendering/Buffers/Bitmap.h b/ZEngine/ZEngine/Rendering/Buffers/Bitmap.h old mode 100644 new mode 100755 index 9cc5ced6..048d2bad --- a/ZEngine/ZEngine/Rendering/Buffers/Bitmap.h +++ b/ZEngine/ZEngine/Rendering/Buffers/Bitmap.h @@ -1,9 +1,10 @@ #pragma once -#include -#include +#include +#include #include #include #include +#include #include namespace ZEngine::Rendering::Buffers @@ -29,7 +30,7 @@ namespace ZEngine::Rendering::Buffers * The A and B values are normalized coordinates in the range [-1, 1], calculated from pixel coordinates (i, j) * and the face size. * - * Reference: "Real-Time Rendering, Fourth Edition" by Tomas Akenine-Möller, Eric Haines, Naty Hoffman + * Reference: "Real-Time Rendering, Fourth Edition" by Tomas Akenine-Möller, Eric Haines, Naty Hoffman */ static glm::vec3 FaceCoordToXYZ(int i, int j, int face_id, int face_size) { @@ -302,4 +303,4 @@ namespace ZEngine::Rendering::Buffers BitmapFormat Format = BitmapFormat::UNSIGNED_BYTE; std::vector Buffer = {}; }; -} // namespace ZEngine::Rendering::Buffers \ No newline at end of file +} // namespace ZEngine::Rendering::Buffers diff --git a/ZEngine/ZEngine/Rendering/Buffers/BufferLayout.h b/ZEngine/ZEngine/Rendering/Buffers/BufferLayout.h index c6b8c767..eda2e8db 100644 --- a/ZEngine/ZEngine/Rendering/Buffers/BufferLayout.h +++ b/ZEngine/ZEngine/Rendering/Buffers/BufferLayout.h @@ -1,4 +1,5 @@ #pragma once +#include #include #include #include diff --git a/ZEngine/ZEngine/Rendering/Buffers/FrameBuffer.cpp b/ZEngine/ZEngine/Rendering/Buffers/FrameBuffer.cpp index 546af2d8..ebfb3bec 100644 --- a/ZEngine/ZEngine/Rendering/Buffers/FrameBuffer.cpp +++ b/ZEngine/ZEngine/Rendering/Buffers/FrameBuffer.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include using namespace ZEngine::Helpers; using namespace ZEngine::Rendering::Specifications; diff --git a/ZEngine/ZEngine/Rendering/Buffers/Framebuffer.h b/ZEngine/ZEngine/Rendering/Buffers/Framebuffer.h index 927b6467..a497370c 100644 --- a/ZEngine/ZEngine/Rendering/Buffers/Framebuffer.h +++ b/ZEngine/ZEngine/Rendering/Buffers/Framebuffer.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Hardwares { diff --git a/ZEngine/ZEngine/Rendering/Buffers/PixelBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/PixelBuffer.h index c32fa825..23407782 100644 --- a/ZEngine/ZEngine/Rendering/Buffers/PixelBuffer.h +++ b/ZEngine/ZEngine/Rendering/Buffers/PixelBuffer.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace ZEngine::Rendering::Buffers { diff --git a/ZEngine/ZEngine/Rendering/Cameras/Camera.h b/ZEngine/ZEngine/Rendering/Cameras/Camera.h index 61b95c79..dfc82024 100644 --- a/ZEngine/ZEngine/Rendering/Cameras/Camera.h +++ b/ZEngine/ZEngine/Rendering/Cameras/Camera.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #define GLM_FORCE_RADIANS #define GLM_FORCE_DEPTH_ZERO_TO_ONE diff --git a/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.cpp b/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.cpp index 60554f86..8d6b4340 100644 --- a/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.cpp +++ b/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.cpp @@ -1,6 +1,6 @@ -#include -#include +#include #include +#include namespace ZEngine::Rendering::Cameras { diff --git a/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.h b/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.h index 30e681af..1e588513 100644 --- a/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.h +++ b/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Cameras { diff --git a/ZEngine/ZEngine/Rendering/Components/CameraComponent.h b/ZEngine/ZEngine/Rendering/Components/CameraComponent.h index 591aa0d3..0f45c1e2 100644 --- a/ZEngine/ZEngine/Rendering/Components/CameraComponent.h +++ b/ZEngine/ZEngine/Rendering/Components/CameraComponent.h @@ -1,6 +1,6 @@ // #pragma once // #include -// #include +// #include // // namespace ZEngine::Rendering::Components //{ diff --git a/ZEngine/ZEngine/Rendering/Components/GeometryComponent.h b/ZEngine/ZEngine/Rendering/Components/GeometryComponent.h index 94c24cea..ffea189d 100644 --- a/ZEngine/ZEngine/Rendering/Components/GeometryComponent.h +++ b/ZEngine/ZEngine/Rendering/Components/GeometryComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Components { diff --git a/ZEngine/ZEngine/Rendering/Components/LightComponent.h b/ZEngine/ZEngine/Rendering/Components/LightComponent.h index e2d8b7d2..ddf85d38 100644 --- a/ZEngine/ZEngine/Rendering/Components/LightComponent.h +++ b/ZEngine/ZEngine/Rendering/Components/LightComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Components { diff --git a/ZEngine/ZEngine/Rendering/Components/MaterialComponent.h b/ZEngine/ZEngine/Rendering/Components/MaterialComponent.h index 0bb1afc8..6965b9c4 100644 --- a/ZEngine/ZEngine/Rendering/Components/MaterialComponent.h +++ b/ZEngine/ZEngine/Rendering/Components/MaterialComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Components { diff --git a/ZEngine/ZEngine/Rendering/Components/TransformComponent.h b/ZEngine/ZEngine/Rendering/Components/TransformComponent.h index 4792ab7c..df5e7cd7 100644 --- a/ZEngine/ZEngine/Rendering/Components/TransformComponent.h +++ b/ZEngine/ZEngine/Rendering/Components/TransformComponent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Components { diff --git a/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.cpp b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.cpp index f1f0d817..a4541b88 100644 --- a/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.cpp +++ b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.cpp @@ -1,5 +1,4 @@ -#include -#include +#include namespace ZEngine::Rendering::Entities { diff --git a/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h index 756c6ab1..ed33243a 100644 --- a/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h +++ b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.cpp b/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.cpp index 2003c32b..79fa9b00 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.cpp +++ b/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.cpp @@ -1,5 +1,4 @@ -#include -#include +#include namespace ZEngine::Rendering::Geometries { diff --git a/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.h index 50f4d4c4..0b6d393c 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.h +++ b/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Geometries { diff --git a/ZEngine/ZEngine/Rendering/Geometries/IGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/IGeometry.h index 48c6042e..fd8553f2 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/IGeometry.h +++ b/ZEngine/ZEngine/Rendering/Geometries/IGeometry.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.cpp b/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.cpp index 297b47ba..8344efdb 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.cpp +++ b/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.cpp @@ -1,5 +1,4 @@ -#include -#include +#include namespace ZEngine::Rendering::Geometries { diff --git a/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.h index 7789815b..a1e9637e 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.h +++ b/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Geometries { diff --git a/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.cpp b/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.cpp index a8576d25..4c621119 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.cpp +++ b/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.cpp @@ -1,5 +1,4 @@ -#include -#include +#include namespace ZEngine::Rendering::Geometries { diff --git a/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.h index f60057de..f6ed7c25 100644 --- a/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.h +++ b/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Geometries { diff --git a/ZEngine/ZEngine/Rendering/Lights/Light.h b/ZEngine/ZEngine/Rendering/Lights/Light.h index f1c5ea06..479e594a 100644 --- a/ZEngine/ZEngine/Rendering/Lights/Light.h +++ b/ZEngine/ZEngine/Rendering/Lights/Light.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include namespace ZEngine::Rendering::Lights diff --git a/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.cpp b/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.cpp index 3afc7425..4eb48f0f 100644 --- a/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.cpp +++ b/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.cpp @@ -1,5 +1,4 @@ -#include -#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.h b/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.h index 889d650c..b809722d 100644 --- a/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.h +++ b/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.h @@ -1,5 +1,5 @@ #pragma once -#include +#include namespace ZEngine::Rendering::Materials { diff --git a/ZEngine/ZEngine/Rendering/Materials/IMaterial.h b/ZEngine/ZEngine/Rendering/Materials/IMaterial.h index 69096c9f..e0c8d490 100644 --- a/ZEngine/ZEngine/Rendering/Materials/IMaterial.h +++ b/ZEngine/ZEngine/Rendering/Materials/IMaterial.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.cpp b/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.cpp index ce645426..ec921345 100644 --- a/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.cpp +++ b/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.cpp @@ -1,5 +1,4 @@ -#include -#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.h b/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.h index 2cfe1702..e592d60f 100644 --- a/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.h +++ b/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include namespace ZEngine::Rendering::Materials { diff --git a/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.cpp b/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.cpp index 0111d27f..e5031673 100644 --- a/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.cpp +++ b/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.cpp @@ -1,5 +1,4 @@ -#include -#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.h b/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.h index 0c37a380..ba5dc270 100644 --- a/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.h +++ b/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Rendering::Materials { diff --git a/ZEngine/ZEngine/Rendering/Meshes/Mesh.h b/ZEngine/ZEngine/Rendering/Meshes/Mesh.h index 61b48991..7e206b12 100644 --- a/ZEngine/ZEngine/Rendering/Meshes/Mesh.h +++ b/ZEngine/ZEngine/Rendering/Meshes/Mesh.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #define INVALID_MAP_HANDLE 0xFFFFFFFFu diff --git a/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.cpp b/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.cpp index a2807f88..aed23324 100644 --- a/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.cpp +++ b/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.cpp @@ -1,10 +1,10 @@ // #include -// #include -// #include -// #include -// #include -// #include -// #include +// #include +// #include +// #include +// #include +// #include +// #include // // using namespace ZEngine::Maths; // using namespace ZEngine::Rendering::Lights; diff --git a/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.h b/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.h index 26e19f9c..9d3a01dd 100644 --- a/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.h +++ b/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.h @@ -1,8 +1,8 @@ // #pragma once -// #include -// #include -// #include -// #include +// #include +// #include +// #include +// #include // // namespace ZEngine::Rendering::Meshes { // diff --git a/ZEngine/ZEngine/Rendering/Meshes/MeshLight.h b/ZEngine/ZEngine/Rendering/Meshes/MeshLight.h index 205a0bb5..c811f49e 100644 --- a/ZEngine/ZEngine/Rendering/Meshes/MeshLight.h +++ b/ZEngine/ZEngine/Rendering/Meshes/MeshLight.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Rendering::Mesh { diff --git a/ZEngine/ZEngine/Rendering/Pools/CommandPool.cpp b/ZEngine/ZEngine/Rendering/Pools/CommandPool.cpp index 2411b2ad..8acc86f8 100644 --- a/ZEngine/ZEngine/Rendering/Pools/CommandPool.cpp +++ b/ZEngine/ZEngine/Rendering/Pools/CommandPool.cpp @@ -1,7 +1,6 @@ -#include -#include -#include -#include +#include +#include +#include using namespace ZEngine::Helpers; namespace ZEngine::Rendering::Pools @@ -25,4 +24,4 @@ namespace ZEngine::Rendering::Pools ZENGINE_DESTROY_VULKAN_HANDLE(Device->LogicalDevice, vkDestroyCommandPool, Handle, nullptr) } -} // namespace ZEngine::Rendering::Pools \ No newline at end of file +} // namespace ZEngine::Rendering::Pools diff --git a/ZEngine/ZEngine/Rendering/Pools/CommandPool.h b/ZEngine/ZEngine/Rendering/Pools/CommandPool.h index 8f46fac5..4e12c361 100644 --- a/ZEngine/ZEngine/Rendering/Pools/CommandPool.h +++ b/ZEngine/ZEngine/Rendering/Pools/CommandPool.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include @@ -21,4 +21,4 @@ namespace ZEngine::Rendering::Pools VkCommandPool Handle{VK_NULL_HANDLE}; Rendering::QueueType QueueType; }; -} // namespace ZEngine::Rendering::Pools \ No newline at end of file +} // namespace ZEngine::Rendering::Pools diff --git a/ZEngine/ZEngine/Rendering/Primitives/Fence.cpp b/ZEngine/ZEngine/Rendering/Primitives/Fence.cpp index 5436a742..6a0999d4 100644 --- a/ZEngine/ZEngine/Rendering/Primitives/Fence.cpp +++ b/ZEngine/ZEngine/Rendering/Primitives/Fence.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include namespace ZEngine::Rendering::Primitives { diff --git a/ZEngine/ZEngine/Rendering/Primitives/Fence.h b/ZEngine/ZEngine/Rendering/Primitives/Fence.h index 42bd7be7..55a739d1 100644 --- a/ZEngine/ZEngine/Rendering/Primitives/Fence.h +++ b/ZEngine/ZEngine/Rendering/Primitives/Fence.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Hardwares @@ -36,4 +36,4 @@ namespace ZEngine::Rendering::Primitives FenceState m_fence_state{FenceState::Idle}; VkFence m_handle{VK_NULL_HANDLE}; }; -} // namespace ZEngine::Rendering::Primitives \ No newline at end of file +} // namespace ZEngine::Rendering::Primitives diff --git a/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp b/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp index ec15eda2..22e18e21 100644 --- a/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp +++ b/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp @@ -1,4 +1,4 @@ -#include +#include using namespace ZEngine::Rendering::Specifications; @@ -30,4 +30,4 @@ namespace ZEngine::Rendering::Primitives { return m_handle; } -} // namespace ZEngine::Rendering::Primitives \ No newline at end of file +} // namespace ZEngine::Rendering::Primitives diff --git a/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h b/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h index e8cc750b..5e80c7e4 100644 --- a/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h +++ b/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Rendering::Primitives @@ -16,4 +16,4 @@ namespace ZEngine::Rendering::Primitives VkImageMemoryBarrier m_handle{}; Specifications::ImageMemoryBarrierSpecification m_specification; }; -} // namespace ZEngine::Rendering::Primitives \ No newline at end of file +} // namespace ZEngine::Rendering::Primitives diff --git a/ZEngine/ZEngine/Rendering/Primitives/Semaphore.cpp b/ZEngine/ZEngine/Rendering/Primitives/Semaphore.cpp index b2ae9b0e..4cc2b8bc 100644 --- a/ZEngine/ZEngine/Rendering/Primitives/Semaphore.cpp +++ b/ZEngine/ZEngine/Rendering/Primitives/Semaphore.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include namespace ZEngine::Rendering::Primitives { @@ -49,4 +48,4 @@ namespace ZEngine::Rendering::Primitives { return m_semaphore_state; } -} // namespace ZEngine::Rendering::Primitives \ No newline at end of file +} // namespace ZEngine::Rendering::Primitives diff --git a/ZEngine/ZEngine/Rendering/Primitives/Semaphore.h b/ZEngine/ZEngine/Rendering/Primitives/Semaphore.h index fe03e6d3..713025dd 100644 --- a/ZEngine/ZEngine/Rendering/Primitives/Semaphore.h +++ b/ZEngine/ZEngine/Rendering/Primitives/Semaphore.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Hardwares @@ -33,4 +33,4 @@ namespace ZEngine::Rendering::Primitives SemaphoreState m_semaphore_state{SemaphoreState::Idle}; VkSemaphore m_handle{VK_NULL_HANDLE}; }; -} // namespace ZEngine::Rendering::Primitives \ No newline at end of file +} // namespace ZEngine::Rendering::Primitives diff --git a/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.cpp b/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.cpp index 8c7b8e02..3a2b6c47 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.cpp @@ -1,22 +1,22 @@ -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #define STB_IMAGE_IMPLEMENTATION #ifdef __GNUC__ #define STBI_NO_SIMD #endif -#include +#include #define STB_IMAGE_WRITE_IMPLEMENTATION #define STB_IMAGE_RESIZE_IMPLEMENTATION -#include -#include +#include +#include using namespace ZEngine::Hardwares; using namespace ZEngine::Rendering::Specifications; diff --git a/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.h b/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.h index 7e18ebb9..1d469ed0 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.h +++ b/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.h @@ -1,15 +1,14 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include namespace ZEngine::Rendering::Renderers { diff --git a/ZEngine/ZEngine/Rendering/Renderers/GraphicRendererInformation.h b/ZEngine/ZEngine/Rendering/Renderers/GraphicRendererInformation.h index 146e6abb..13653ac9 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/GraphicRendererInformation.h +++ b/ZEngine/ZEngine/Rendering/Renderers/GraphicRendererInformation.h @@ -1,5 +1,5 @@ // #pragma once -// #include +// #include // // namespace ZEngine::Rendering::Renderers //{ diff --git a/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.cpp b/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.cpp index 9dd3e17b..5d7a081c 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.cpp @@ -1,11 +1,13 @@ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include #include #include +#include +#include +#include +#include "ImGuizmo.h" using namespace ZEngine::Hardwares; using namespace ZEngine::Rendering; @@ -102,7 +104,7 @@ namespace ZEngine::Rendering::Renderers auto font_tex_handle = renderer->CreateTexture(font_tex_spec); auto font_texture = renderer->Device->GlobalTextures.Access(font_tex_handle); - io.Fonts->TexID = (ImTextureID) font_tex_handle.Index; + io.Fonts->TexID = reinterpret_cast(font_tex_handle.Index); auto font_image_info = font_texture->ImageBuffer->GetDescriptorImageInfo(); uint32_t frame_count = renderer->Device->SwapchainImageCount; @@ -312,4 +314,4 @@ namespace ZEngine::Rendering::Renderers ImGui::RenderPlatformWindowsDefault(); } } -} // namespace ZEngine::Rendering::Renderers \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers diff --git a/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.h b/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.h index d84543a3..b47c7c97 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.h +++ b/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Rendering::Renderers { diff --git a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h index 38951631..08c236b7 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h +++ b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h @@ -1,9 +1,9 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h index d5a1cc72..81d4121d 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h +++ b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include namespace ZEngine::Rendering::Renderers::Pipelines { diff --git a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp index 5314322c..24d30ddb 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include using namespace ZEngine::Helpers; using namespace ZEngine::Core::Containers; @@ -193,4 +193,4 @@ namespace ZEngine::Rendering::Renderers::Pipelines Layout = VK_NULL_HANDLE; Handle = VK_NULL_HANDLE; } -} // namespace ZEngine::Rendering::Renderers::Pipelines \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers::Pipelines diff --git a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h index 5f58004a..24065a2c 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h +++ b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include #include namespace ZEngine::Rendering::Renderers::Pipelines @@ -23,4 +23,4 @@ namespace ZEngine::Rendering::Renderers::Pipelines void Bake(); void Dispose(); }; -} // namespace ZEngine::Rendering::Renderers::Pipelines \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers::Pipelines diff --git a/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.cpp b/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.cpp index fffd97e7..7e04f825 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include using namespace ZEngine::Core::Containers; diff --git a/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.h b/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.h index be5b3eca..2fdab5c1 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.h +++ b/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.h @@ -1,15 +1,13 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace ZEngine::Rendering::Renderers { @@ -147,4 +145,4 @@ namespace ZEngine::Rendering::Renderers private: RenderGraph& m_graph; }; -} // namespace ZEngine::Rendering::Renderers \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers diff --git a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp index d8d849fe..50137504 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp @@ -1,7 +1,7 @@ -#include -#include -#include -#include +#include +#include +#include +#include using namespace ZEngine::Hardwares; using namespace ZEngine::Rendering::Specifications; @@ -135,4 +135,4 @@ namespace ZEngine::Rendering::Renderers::RenderPasses { return m_depth_attachment_count; } -} // namespace ZEngine::Rendering::Renderers::RenderPasses \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers::RenderPasses diff --git a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h index 19166969..bc2cdd96 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h +++ b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include namespace ZEngine::Hardwares @@ -29,4 +29,4 @@ namespace ZEngine::Rendering::Renderers::RenderPasses VkRenderPass m_handle{VK_NULL_HANDLE}; Hardwares::VulkanDevice* m_device{nullptr}; }; -} // namespace ZEngine::Rendering::Renderers::RenderPasses \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers::RenderPasses diff --git a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp index a9192549..860db6fe 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp @@ -1,7 +1,7 @@ -#include -#include -#include +#include +#include #include +#include using namespace ZEngine::Rendering::Buffers; using namespace ZEngine::Rendering::Specifications; @@ -507,4 +507,4 @@ namespace ZEngine::Rendering::Renderers::RenderPasses std::swap(spec, m_spec); return spec; } -} // namespace ZEngine::Rendering::Renderers::RenderPasses \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers::RenderPasses diff --git a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h index 0966d670..3eacb117 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h +++ b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h @@ -1,10 +1,10 @@ #pragma once -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -93,4 +93,4 @@ namespace ZEngine::Rendering::Renderers::RenderPasses private: Specifications::RenderPassSpecification m_spec{}; }; -} // namespace ZEngine::Rendering::Renderers::RenderPasses \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers::RenderPasses diff --git a/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.cpp b/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.cpp index 4386a7f0..d9350656 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include using namespace ZEngine::Helpers; using namespace ZEngine::Rendering::Specifications; @@ -450,4 +449,4 @@ namespace ZEngine::Rendering::Renderers command_buffer->DrawIndirect(*indirect_buffer->At(frame_index)); command_buffer->EndRenderPass(); } -} // namespace ZEngine::Rendering::Renderers \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers diff --git a/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.h b/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.h index f68bdf88..f53754aa 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.h +++ b/ZEngine/ZEngine/Rendering/Renderers/RendererPasses.h @@ -1,9 +1,9 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #define WRITE_BUFFERS_ONCE(frame_index, body) \ if (!m_write_once_control.contains(frame_index)) \ @@ -79,4 +79,4 @@ namespace ZEngine::Rendering::Renderers virtual void Render(uint32_t frame_index, Rendering::Scenes::SceneRawData* const scene, RenderPasses::RenderPass* const pass, Buffers::FramebufferVNext* const framebuffer, Hardwares::CommandBuffer* const command_buffer, RenderGraph* const graph) override; }; -} // namespace ZEngine::Rendering::Renderers \ No newline at end of file +} // namespace ZEngine::Rendering::Renderers diff --git a/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp b/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp index 82bed5eb..093aa3e4 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp +++ b/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp @@ -1,5 +1,4 @@ -#include -#include +#include #include namespace ZEngine::Rendering::Renderers::Storages diff --git a/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h b/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h index 61b5420a..b7089cca 100644 --- a/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h +++ b/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.cpp b/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.cpp index 26bf41fe..a86cc6ab 100644 --- a/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.cpp +++ b/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.cpp @@ -1,10 +1,9 @@ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #define NODE_PARENT_ID -1 #define INVALID_NODE_ID -1 @@ -158,7 +157,7 @@ namespace ZEngine::Rendering::Scenes SceneData->Materials = {Meshes::MeshMaterial{}}; SceneData->MaterialFiles = {Meshes::MaterialFile{}}; SceneData->DrawData = { - DrawData{.TransformIndex = 0, .VertexOffset = 0, .IndexOffset = 0, .VertexCount = 1, .IndexCount = 1} + DrawDataType{.TransformIndex = 0, .VertexOffset = 0, .IndexOffset = 0, .VertexCount = 1, .IndexCount = 1} }; } @@ -175,7 +174,7 @@ namespace ZEngine::Rendering::Scenes int i = 0; for (auto& [node, mesh] : SceneData->NodeMeshes) { - DrawData& draw_data = SceneData->DrawData[i]; + DrawDataType& draw_data = SceneData->DrawData[i]; draw_data.TransformIndex = node; draw_data.MaterialIndex = SceneData->NodeMaterials[node]; draw_data.VertexOffset = SceneData->Meshes[mesh].VertexOffset; @@ -273,7 +272,7 @@ namespace ZEngine::Rendering::Scenes vert_buf->SetData(i, SceneData->Vertices); ind_buf->SetData(i, SceneData->Indices); material_buf->SetData(i, SceneData->Materials); - indirect_datadraw_buf->SetData(i, SceneData->DrawData); + indirect_datadraw_buf->SetData(i, SceneData->DrawData); indirect_buf->SetData(i, indirect_commmands); } diff --git a/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.h b/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.h index 43adca54..374493a9 100644 --- a/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.h +++ b/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.h @@ -1,9 +1,9 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include #include @@ -43,7 +43,7 @@ namespace ZEngine::Rendering::Scenes int DepthLevel = -1; }; - struct DrawData + struct DrawDataType { uint32_t TransformIndex = std::numeric_limits::max(); uint32_t MaterialIndex = std::numeric_limits::max(); @@ -67,7 +67,7 @@ namespace ZEngine::Rendering::Scenes */ std::vector Vertices = {}; std::vector Indices = {}; - std::vector DrawData = {}; + std::vector DrawData = {}; std::vector Names = {}; std::vector MaterialNames = {}; std::unordered_map NodeMeshes = {}; diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp index a47bdf32..6c8844ea 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp @@ -1,9 +1,7 @@ -#pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h index c966b948..50763996 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include #include #include diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h index 7d058991..de3aaf85 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include #include namespace ZEngine::Rendering::Shaders::Compilers diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp index a8bc5ede..06b9298f 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp @@ -1,8 +1,7 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h index 7993ba95..30912871 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp index 338031dc..9559d03a 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp @@ -1,7 +1,8 @@ -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace ZEngine::Rendering::Shaders::Compilers { diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h index 97c66f6e..b89a924f 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp index fbe245e1..34dab76c 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp @@ -1,8 +1,9 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h index 33c40e0e..52cbe835 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h +++ b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h @@ -1,7 +1,5 @@ #pragma once -#include -#include -#include +#include namespace ZEngine::Rendering::Shaders::Compilers { diff --git a/ZEngine/ZEngine/Rendering/Shaders/Shader.cpp b/ZEngine/ZEngine/Rendering/Shaders/Shader.cpp index 475e0e2d..1a96161d 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Shader.cpp +++ b/ZEngine/ZEngine/Rendering/Shaders/Shader.cpp @@ -1,12 +1,13 @@ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include using namespace ZEngine::Rendering::Specifications; using namespace ZEngine::Helpers; @@ -28,7 +29,7 @@ namespace ZEngine::Rendering::Shaders Shader::~Shader() {} - void Shader::Initialize(Hardwares::VulkanDevice* device, const Specifications::ShaderSpecification& spec) + void Shader::Initialize(Hardwares::VulkanDevice* device, const Specifications::ShaderSpecificationType& spec) { device->Arena->CreateSubArena(ZMega(5), &LocalArena); @@ -101,7 +102,7 @@ namespace ZEngine::Rendering::Shaders LayoutBindingSpecificationMap[set].init(m_device->Arena, 10); } - LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = UB_resource.name, .DescriptorType = DescriptorType::UNIFORM_BUFFER, .Flags = ShaderStageFlags::VERTEX}); + LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = UB_resource.name, .DescriptorType = DescriptorTypeEnum::UNIFORM_BUFFER, .Flags = ShaderStageFlags::VERTEX}); } for (const auto& SB_resource : vertex_resources.storage_buffers) @@ -114,7 +115,7 @@ namespace ZEngine::Rendering::Shaders LayoutBindingSpecificationMap[set].init(m_device->Arena, 10); } - LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = SB_resource.name, .DescriptorType = DescriptorType::STORAGE_BUFFER, .Flags = ShaderStageFlags::VERTEX}); + LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = SB_resource.name, .DescriptorType = DescriptorTypeEnum::STORAGE_BUFFER, .Flags = ShaderStageFlags::VERTEX}); } for (const auto& pushConstant_resource : vertex_resources.push_constant_buffers) @@ -170,7 +171,7 @@ namespace ZEngine::Rendering::Shaders LayoutBindingSpecificationMap[set].init(m_device->Arena, 10); } - LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = UB_resource.name, .DescriptorType = DescriptorType::UNIFORM_BUFFER, .Flags = ShaderStageFlags::FRAGMENT}); + LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = UB_resource.name, .DescriptorType = DescriptorTypeEnum::UNIFORM_BUFFER, .Flags = ShaderStageFlags::FRAGMENT}); } for (const auto& SB_resource : fragment_resources.storage_buffers) @@ -183,7 +184,7 @@ namespace ZEngine::Rendering::Shaders LayoutBindingSpecificationMap[set].init(m_device->Arena, 10); } - LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = SB_resource.name, .DescriptorType = DescriptorType::STORAGE_BUFFER, .Flags = ShaderStageFlags::FRAGMENT}); + LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Name = SB_resource.name, .DescriptorType = DescriptorTypeEnum::STORAGE_BUFFER, .Flags = ShaderStageFlags::FRAGMENT}); } for (const auto& pushConstant_resource : fragment_resources.push_constant_buffers) @@ -228,7 +229,7 @@ namespace ZEngine::Rendering::Shaders LayoutBindingSpecificationMap[set].init(m_device->Arena, 10); } - LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Count = count, .Name = SI_resource.name, .DescriptorType = DescriptorType::COMBINED_IMAGE_SAMPLER, .Flags = ShaderStageFlags::FRAGMENT}); + LayoutBindingSpecificationMap[set].push(LayoutBindingSpecification{.Set = set, .Binding = binding, .Count = count, .Name = SI_resource.name, .DescriptorType = DescriptorTypeEnum ::COMBINED_IMAGE_SAMPLER, .Flags = ShaderStageFlags::FRAGMENT}); } } } diff --git a/ZEngine/ZEngine/Rendering/Shaders/Shader.h b/ZEngine/ZEngine/Rendering/Shaders/Shader.h index bfd78e6c..48189774 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/Shader.h +++ b/ZEngine/ZEngine/Rendering/Shaders/Shader.h @@ -1,10 +1,10 @@ #pragma once -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include namespace ZEngine::Rendering::Shaders { @@ -13,12 +13,12 @@ namespace ZEngine::Rendering::Shaders Shader(); ~Shader(); - void Initialize(Hardwares::VulkanDevice* device, const Specifications::ShaderSpecification& spec); + void Initialize(Hardwares::VulkanDevice* device, const Specifications::ShaderSpecificationType& spec); void Dispose(); Specifications::LayoutBindingSpecification GetLayoutBindingSpecification(const char* name); VkDescriptorPool m_descriptor_pool = VK_NULL_HANDLE; - Specifications::ShaderSpecification m_specification = {}; + Specifications::ShaderSpecificationType m_specification = {}; Core::Memory::ArenaAllocator LocalArena = {}; Core::Containers::Array PushConstantSpecifications = {}; diff --git a/ZEngine/ZEngine/Rendering/Shaders/ShaderIncluder.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderIncluder.h index 06a61892..46de405b 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/ShaderIncluder.h +++ b/ZEngine/ZEngine/Rendering/Shaders/ShaderIncluder.h @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include #include #include @@ -50,4 +50,4 @@ namespace ZEngine::Rendering::Shaders return std::string((std::istreambuf_iterator(fileStream)), std::istreambuf_iterator()); } }; -} // namespace ZEngine::Rendering::Shaders \ No newline at end of file +} // namespace ZEngine::Rendering::Shaders diff --git a/ZEngine/ZEngine/Rendering/Shaders/ShaderInformation.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderInformation.h index f9cdb45b..c5592aae 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/ShaderInformation.h +++ b/ZEngine/ZEngine/Rendering/Shaders/ShaderInformation.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.cpp b/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.cpp index e8dfb01e..8e53becc 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.cpp +++ b/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.cpp @@ -1,7 +1,7 @@ -#include -#include -#include -#include +#include +#include +#include +#include namespace ZEngine::Rendering::Shaders { @@ -16,13 +16,13 @@ namespace ZEngine::Rendering::Shaders } } - std::vector ShaderReader::ReadAsBinary(std::string_view filename) + std::vector ShaderReader::ReadAsBinary(std::filesystem::path filename) { std::ifstream file_stream = {}; file_stream.open(filename, std::ifstream::binary | std::ifstream::ate); if (!file_stream.is_open()) { - ZENGINE_CORE_ERROR("====== Shader file : {} cannot be opened ======", filename.data()) + ZENGINE_CORE_ERROR("====== Shader file : {} cannot be opened ======", filename.string()) ZENGINE_EXIT_FAILURE() } @@ -46,15 +46,14 @@ namespace ZEngine::Rendering::Shaders return ShaderType::UNKNOWN; } - std::future ShaderReader::ReadAsync(std::string_view filename) + std::future ShaderReader::ReadAsync(std::filesystem::path filename) { std::unique_lock lock(m_lock); - std::filesystem::path filepath(filename); - m_filestream.open(filename.data(), std::ifstream::in); + m_filestream.open(filename, std::ifstream::in); if (!m_filestream.is_open()) { - ZENGINE_CORE_ERROR("====== Shader file : {} cannot be opened ======", filename.data()) + ZENGINE_CORE_ERROR("====== Shader file : {} cannot be opened ======", filename.string()) co_return ShaderOperationResult::FAILURE; } @@ -67,16 +66,16 @@ namespace ZEngine::Rendering::Shaders buffer.assign((std::istreambuf_iterator(m_filestream)), std::istreambuf_iterator()); m_shader_info_collection.Source = std::move(buffer); - m_shader_info_collection.Name = filepath.stem().string(); - m_shader_info_collection.Type = GetShaderType(filepath); + m_shader_info_collection.Name = filename.stem().string(); + m_shader_info_collection.Type = GetShaderType(filename); if (m_shader_info_collection.Type == ShaderType::UNKNOWN) { - ZENGINE_CORE_ERROR("====== Shader file : {} unsupported format ======", filename.data()) + ZENGINE_CORE_ERROR("====== Shader file : {} unsupported format ======", filename.string()) co_return ShaderOperationResult::FAILURE; } - ZENGINE_CORE_INFO("====== Shader file : {} read succeeded ======", filename.data()) + ZENGINE_CORE_INFO("====== Shader file : {} read succeeded ======", filename.string()) m_filestream.close(); co_return ShaderOperationResult::SUCCESS; } diff --git a/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.h index 99c80d4c..21e5c349 100644 --- a/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.h +++ b/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.h @@ -1,11 +1,10 @@ #pragma once -#include +#include #include #include #include #include #include -#include namespace ZEngine::Rendering::Shaders { @@ -19,7 +18,7 @@ namespace ZEngine::Rendering::Shaders ShaderReader(); ~ShaderReader(); - static std::vector ReadAsBinary(std::string_view filename); + static std::vector ReadAsBinary(std::filesystem::path filename); /** * Read asynchronously content of shader file @@ -27,7 +26,7 @@ namespace ZEngine::Rendering::Shaders * @param filename Path to the shader file * @return enum ShaderReaderState that describes the read operation state */ - std::future ReadAsync(std::string_view filename); + std::future ReadAsync(std::filesystem::path filename); /** * Get shaders information collected during Reading process diff --git a/ZEngine/ZEngine/Rendering/Specifications/AttachmentSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/AttachmentSpecification.h index 7f4b55a2..93eb47bf 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/AttachmentSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/AttachmentSpecification.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include namespace ZEngine::Rendering::Specifications diff --git a/ZEngine/ZEngine/Rendering/Specifications/FormatSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/FormatSpecification.h index 0c6b6ba2..a943599f 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/FormatSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/FormatSpecification.h @@ -102,7 +102,7 @@ namespace ZEngine::Rendering::Specifications COMPUTE }; - enum class ImageViewType : uint32_t + enum class ImageViewTypeEnum : uint32_t { TYPE_1D = 0, TYPE_2D, @@ -120,7 +120,7 @@ namespace ZEngine::Rendering::Specifications VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, }; - enum class ImageCreateFlag + enum class ImageCreateFlagEnum { NONE = 0, SPARSE_BINDING_BIT, diff --git a/ZEngine/ZEngine/Rendering/Specifications/FrameBufferSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/FrameBufferSpecification.h index 348e31b0..a72e3b99 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/FrameBufferSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/FrameBufferSpecification.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Rendering::Specifications { diff --git a/ZEngine/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h index f273378b..d37ff2c9 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace ZEngine::Rendering::Specifications { @@ -29,10 +29,10 @@ namespace ZEngine::Rendering::Specifications uint32_t DepthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL; bool EnableStencilTest = false; const char* DebugName = {}; - ShaderSpecification ShaderSpecification = {}; + ShaderSpecificationType ShaderSpecification = {}; Rendering::Buffers::FramebufferVNext* TargetFrameBuffer = {}; Renderers::RenderPasses::Attachment* Attachment = {}; Core::Containers::Array VertexInputBindingSpecifications = {}; Core::Containers::Array VertexInputAttributeSpecifications = {}; }; -} // namespace ZEngine::Rendering::Specifications \ No newline at end of file +} // namespace ZEngine::Rendering::Specifications diff --git a/ZEngine/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h index 97bdd764..c01401a4 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Rendering::Specifications @@ -18,4 +18,4 @@ namespace ZEngine::Rendering::Specifications uint32_t SourceQueueFamily = VK_QUEUE_FAMILY_IGNORED; uint32_t DestinationQueueFamily = VK_QUEUE_FAMILY_IGNORED; }; -} // namespace ZEngine::Rendering::Specifications \ No newline at end of file +} // namespace ZEngine::Rendering::Specifications diff --git a/ZEngine/ZEngine/Rendering/Specifications/RenderPassSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/RenderPassSpecification.h index b1e859f9..c8359dfc 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/RenderPassSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/RenderPassSpecification.h @@ -1,9 +1,9 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace ZEngine::Rendering::Specifications { diff --git a/ZEngine/ZEngine/Rendering/Specifications/ShaderSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/ShaderSpecification.h index 2717d9b6..b3901938 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/ShaderSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/ShaderSpecification.h @@ -1,9 +1,10 @@ #pragma once #include +#include namespace ZEngine::Rendering::Specifications { - enum class DescriptorType : uint32_t + enum class DescriptorTypeEnum : uint32_t { SAMPLER = 0, COMBINED_IMAGE_SAMPLER, @@ -35,12 +36,12 @@ namespace ZEngine::Rendering::Specifications struct LayoutBindingSpecification { - uint32_t Set{0xFFFFFFFF}; - uint32_t Binding{0xFFFFFFFF}; - uint32_t Count{1}; - std::string Name; - DescriptorType DescriptorType; - ShaderStageFlags Flags; + uint32_t Set{0xFFFFFFFF}; + uint32_t Binding{0xFFFFFFFF}; + uint32_t Count{1}; + std::string Name; + DescriptorTypeEnum DescriptorType; + ShaderStageFlags Flags; }; struct PushConstantSpecification @@ -51,7 +52,7 @@ namespace ZEngine::Rendering::Specifications ShaderStageFlags Flags; }; - struct ShaderSpecification + struct ShaderSpecificationType { uint32_t OverloadMaxSet = 1; uint32_t OverloadPoolSize = 0; diff --git a/ZEngine/ZEngine/Rendering/Specifications/TextureSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/TextureSpecification.h index 9118094c..fe16321c 100644 --- a/ZEngine/ZEngine/Rendering/Specifications/TextureSpecification.h +++ b/ZEngine/ZEngine/Rendering/Specifications/TextureSpecification.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include namespace ZEngine::Rendering::Specifications { @@ -32,13 +32,13 @@ namespace ZEngine::Rendering::Specifications { uint32_t Width; uint32_t Height; - ImageViewType ImageViewType = ImageViewType::TYPE_2D; + ImageViewTypeEnum ImageViewType = ImageViewTypeEnum::TYPE_2D; ImageBufferUsageType BufferUsageType; VkFormat ImageFormat; VkImageUsageFlags ImageUsage; VkImageAspectFlagBits ImageAspectFlag; uint32_t LayerCount = 1U; - ImageCreateFlag ImageCreateFlag = ImageCreateFlag::NONE; + ImageCreateFlagEnum ImageCreateFlag = ImageCreateFlagEnum::NONE; }; -} // namespace ZEngine::Rendering::Specifications \ No newline at end of file +} // namespace ZEngine::Rendering::Specifications diff --git a/ZEngine/ZEngine/Rendering/Textures/Texture.cpp b/ZEngine/ZEngine/Rendering/Textures/Texture.cpp index 3e903299..2d0e70c6 100644 --- a/ZEngine/ZEngine/Rendering/Textures/Texture.cpp +++ b/ZEngine/ZEngine/Rendering/Textures/Texture.cpp @@ -1,6 +1,5 @@ -#include -#include -#include +#include +#include namespace ZEngine::Rendering::Textures { @@ -28,4 +27,4 @@ namespace ZEngine::Rendering::Textures ImageBuffer = nullptr; } } -} // namespace ZEngine::Rendering::Textures \ No newline at end of file +} // namespace ZEngine::Rendering::Textures diff --git a/ZEngine/ZEngine/Rendering/Textures/Texture.h b/ZEngine/ZEngine/Rendering/Textures/Texture.h index 4bed13e2..fb3d9cb0 100644 --- a/ZEngine/ZEngine/Rendering/Textures/Texture.h +++ b/ZEngine/ZEngine/Rendering/Textures/Texture.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include namespace ZEngine::Hardwares @@ -50,4 +50,4 @@ namespace ZEngine::Helpers m_memory[i].Dispose(); } } -} // namespace ZEngine::Helpers \ No newline at end of file +} // namespace ZEngine::Helpers diff --git a/ZEngine/ZEngine/Rendering/Textures/Texture2D.cpp b/ZEngine/ZEngine/Rendering/Textures/Texture2D.cpp index 3d301504..d35d49cd 100644 --- a/ZEngine/ZEngine/Rendering/Textures/Texture2D.cpp +++ b/ZEngine/ZEngine/Rendering/Textures/Texture2D.cpp @@ -1,19 +1,18 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include // #define STB_IMAGE_IMPLEMENTATION // #ifdef __GNUC__ // #define STBI_NO_SIMD // #endif -#include +#include // #define STB_IMAGE_WRITE_IMPLEMENTATION // #define STB_IMAGE_RESIZE_IMPLEMENTATION -// #include -// #include +// #include +// #include using namespace ZEngine::Helpers; using namespace ZEngine::Hardwares; @@ -261,4 +260,4 @@ namespace ZEngine::Rendering::Textures // Dispose(); // } -} // namespace ZEngine::Rendering::Textures \ No newline at end of file +} // namespace ZEngine::Rendering::Textures diff --git a/ZEngine/ZEngine/Rendering/Textures/Texture2D.h b/ZEngine/ZEngine/Rendering/Textures/Texture2D.h index 47639334..784b7d76 100644 --- a/ZEngine/ZEngine/Rendering/Textures/Texture2D.h +++ b/ZEngine/ZEngine/Rendering/Textures/Texture2D.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Rendering::Textures diff --git a/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.cpp b/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.cpp index 6d372be9..e1f93284 100644 --- a/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.cpp +++ b/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.cpp @@ -1,18 +1,19 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include using namespace ZEngine::Rendering::Materials; using namespace ZEngine::Rendering::Components; @@ -31,6 +32,7 @@ namespace YAML node.push_back(value.x); node.push_back(value.y); node.push_back(value.z); + return node; } static bool decode(const Node& node, glm::vec3& value) @@ -57,6 +59,7 @@ namespace YAML node.push_back(value.y); node.push_back(value.z); node.push_back(value.w); + return node; } static bool decode(const Node& node, glm::vec4& value) diff --git a/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.h b/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.h index 9783fe28..f30439e2 100644 --- a/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.h +++ b/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include #include namespace ZEngine::Serializers diff --git a/ZEngine/ZEngine/Serializers/GraphicSceneSerializer.h b/ZEngine/ZEngine/Serializers/GraphicSceneSerializer.h index 68de7391..63ea9ff9 100644 --- a/ZEngine/ZEngine/Serializers/GraphicSceneSerializer.h +++ b/ZEngine/ZEngine/Serializers/GraphicSceneSerializer.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include #include namespace ZEngine::Serializers @@ -15,4 +15,4 @@ namespace ZEngine::Serializers std::filesystem::path m_default_scene_directory_path; Helpers::WeakRef m_scene; }; -} // namespace ZEngine::Serializers \ No newline at end of file +} // namespace ZEngine::Serializers diff --git a/ZEngine/ZEngine/Windows/CoreWindow.cpp b/ZEngine/ZEngine/Windows/CoreWindow.cpp index c0ee86f6..7e95def4 100644 --- a/ZEngine/ZEngine/Windows/CoreWindow.cpp +++ b/ZEngine/ZEngine/Windows/CoreWindow.cpp @@ -1,5 +1,4 @@ -#include -#include +#include using namespace ZEngine::Windows::Layers; using namespace ZEngine::Helpers; diff --git a/ZEngine/ZEngine/Windows/CoreWindow.h b/ZEngine/ZEngine/Windows/CoreWindow.h index 801823b1..c42f5e2c 100644 --- a/ZEngine/ZEngine/Windows/CoreWindow.h +++ b/ZEngine/ZEngine/Windows/CoreWindow.h @@ -1,27 +1,22 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -namespace ZEngine::Windows::Layers -{ - class Layer; -} // namespace ZEngine::Windows::Layers - namespace ZEngine::Windows { class CoreWindow : public Inputs::IKeyboardEventCallback, public Inputs::IMouseEventCallback, public Inputs::ITextInputEventCallback, public Inputs::IWindowEventCallback, public Core::IUpdatable, public Core::IRenderable, public Core::IEventable diff --git a/ZEngine/ZEngine/Windows/Events/KeyEvent.h b/ZEngine/ZEngine/Windows/Events/KeyEvent.h index e9d0cd7c..a3f0c7c2 100644 --- a/ZEngine/ZEngine/Windows/Events/KeyEvent.h +++ b/ZEngine/ZEngine/Windows/Events/KeyEvent.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Windows::Events { @@ -41,7 +41,7 @@ namespace ZEngine::Windows::Events virtual std::string ToString() const override { - return fmt::format("KeyPressedEvent : {0}, repeated count : {1}", m_keycode, m_repeat_count); + return fmt::format("KeyPressedEvent : {0}, repeated count : {1}", static_cast(m_keycode), m_repeat_count); } protected: @@ -67,7 +67,7 @@ namespace ZEngine::Windows::Events virtual std::string ToString() const override { - return fmt::format("KeyReleasedEvent : {0}", m_keycode); + return fmt::format("KeyReleasedEvent : {0}", static_cast(m_keycode)); } }; } // namespace ZEngine::Windows::Events diff --git a/ZEngine/ZEngine/Windows/Events/MouseEvent.h b/ZEngine/ZEngine/Windows/Events/MouseEvent.h index ab58ce3c..c960bfb9 100644 --- a/ZEngine/ZEngine/Windows/Events/MouseEvent.h +++ b/ZEngine/ZEngine/Windows/Events/MouseEvent.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Windows::Events { @@ -43,7 +43,7 @@ namespace ZEngine::Windows::Events virtual std::string ToString() const override { - return fmt::format("MouseButtonPressedEvent : {0}", m_button); + return fmt::format("MouseButtonPressedEvent : {0}", static_cast(m_button)); } }; @@ -66,7 +66,7 @@ namespace ZEngine::Windows::Events virtual std::string ToString() const override { - return fmt::format("MouseButtonReleasedEvent : {0}", m_button); + return fmt::format("MouseButtonReleasedEvent : {0}", static_cast(m_button)); } }; @@ -136,7 +136,7 @@ namespace ZEngine::Windows::Events virtual std::string ToString() const override { - return fmt::format("MouseButtonWheelEvent : {0}", m_button); + return fmt::format("MouseButtonWheelEvent : {0}", static_cast(m_button)); } private: diff --git a/ZEngine/ZEngine/Windows/Events/TextInputEvent.h b/ZEngine/ZEngine/Windows/Events/TextInputEvent.h index fb176946..6f19acd2 100644 --- a/ZEngine/ZEngine/Windows/Events/TextInputEvent.h +++ b/ZEngine/ZEngine/Windows/Events/TextInputEvent.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include namespace ZEngine::Windows::Events diff --git a/ZEngine/ZEngine/Windows/Events/WindowEvent.h b/ZEngine/ZEngine/Windows/Events/WindowEvent.h index 3550b3ac..3dfb7a43 100644 --- a/ZEngine/ZEngine/Windows/Events/WindowEvent.h +++ b/ZEngine/ZEngine/Windows/Events/WindowEvent.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace ZEngine::Windows::Events diff --git a/ZEngine/ZEngine/Windows/Inputs/IDevice.cpp b/ZEngine/ZEngine/Windows/Inputs/IDevice.cpp index f8b99697..2f1eef05 100644 --- a/ZEngine/ZEngine/Windows/Inputs/IDevice.cpp +++ b/ZEngine/ZEngine/Windows/Inputs/IDevice.cpp @@ -1,5 +1,4 @@ -#include -#include +#include namespace ZEngine::Windows::Inputs { diff --git a/ZEngine/ZEngine/Windows/Inputs/IDevice.h b/ZEngine/ZEngine/Windows/Inputs/IDevice.h index f4dd6bb3..9d43f6ce 100644 --- a/ZEngine/ZEngine/Windows/Inputs/IDevice.h +++ b/ZEngine/ZEngine/Windows/Inputs/IDevice.h @@ -1,8 +1,7 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include #include #include diff --git a/ZEngine/ZEngine/Windows/Inputs/IInputEventCallback.h b/ZEngine/ZEngine/Windows/Inputs/IInputEventCallback.h index c0a5c222..85acb07f 100644 --- a/ZEngine/ZEngine/Windows/Inputs/IInputEventCallback.h +++ b/ZEngine/ZEngine/Windows/Inputs/IInputEventCallback.h @@ -1,8 +1,8 @@ #pragma once -#include -#include -#include -#include +#include +#include +#include +#include namespace ZEngine::Windows::Inputs { diff --git a/ZEngine/ZEngine/Windows/Inputs/KeyCodeDefinition.h b/ZEngine/ZEngine/Windows/Inputs/KeyCodeDefinition.h index 295856e0..202928ef 100644 --- a/ZEngine/ZEngine/Windows/Inputs/KeyCodeDefinition.h +++ b/ZEngine/ZEngine/Windows/Inputs/KeyCodeDefinition.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #define ZENGINE_KEY_UNKNOWN ZEngine::Windows::Inputs::GlfwKey::KEY_UNKNOWN #define ZENGINE_KEY_SPACE ZEngine::Windows::Inputs::GlfwKey::KEY_SPACE @@ -129,4 +129,4 @@ #define ZENGINE_MOUSE_BUTTON_5 ZEngine::Windows::Inputs::GlfwKey::MOUSE_BUTTON_5 #define ZENGINE_MOUSE_BUTTON_6 ZEngine::Windows::Inputs::GlfwKey::MOUSE_BUTTON_6 #define ZENGINE_MOUSE_BUTTON_7 ZEngine::Windows::Inputs::GlfwKey::MOUSE_BUTTON_7 -#define ZENGINE_MOUSE_BUTTON_8 ZEngine::Windows::Inputs::GlfwKey::MOUSE_BUTTON_8 \ No newline at end of file +#define ZENGINE_MOUSE_BUTTON_8 ZEngine::Windows::Inputs::GlfwKey::MOUSE_BUTTON_8 diff --git a/ZEngine/ZEngine/Windows/Layers/Layer.h b/ZEngine/ZEngine/Windows/Layers/Layer.h index c1b21a7a..dceecf50 100644 --- a/ZEngine/ZEngine/Windows/Layers/Layer.h +++ b/ZEngine/ZEngine/Windows/Layers/Layer.h @@ -1,9 +1,9 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace ZEngine::Windows { diff --git a/ZEngine/ZEngine/Windows/WindowConfiguration.h b/ZEngine/ZEngine/Windows/WindowConfiguration.h index f762d6d3..69338034 100644 --- a/ZEngine/ZEngine/Windows/WindowConfiguration.h +++ b/ZEngine/ZEngine/Windows/WindowConfiguration.h @@ -1,7 +1,7 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace ZEngine::Windows::Layers { diff --git a/ZEngine/ZEngine/Windows/WindowProperty.h b/ZEngine/ZEngine/Windows/WindowProperty.h index 18968dbd..cd364b52 100644 --- a/ZEngine/ZEngine/Windows/WindowProperty.h +++ b/ZEngine/ZEngine/Windows/WindowProperty.h @@ -1,6 +1,6 @@ #pragma once -#include -#include +#include +#include namespace ZEngine::Windows { diff --git a/ZEngine/ZEngine/ZEngineDef.h b/ZEngine/ZEngine/ZEngineDef.h index 42fa76ed..49a162e1 100644 --- a/ZEngine/ZEngine/ZEngineDef.h +++ b/ZEngine/ZEngine/ZEngineDef.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #define BIT(x) (1 << (x)) #define ZENGINE_EXIT_FAILURE() exit(EXIT_FAILURE); @@ -12,7 +12,8 @@ #include #define ZENGINE_DEBUG_BREAK() __builtin_trap(); #else -#error "Platform not supported!" +#include +#define ZENGINE_DEBUG_BREAK() raise(SIGTRAP); #endif #ifdef _MSC_VER @@ -28,7 +29,7 @@ if (!(condition)) \ { \ ZENGINE_CORE_CRITICAL(message) \ - assert(condition&& message); \ + assert(condition && message); \ ZENGINE_DEBUG_BREAK() \ } \ } @@ -95,4 +96,4 @@ #define ASSET_FILE_VERSION MAKE_VERSION(1, 0, 0) #define SCENE_FILE_VERSION MAKE_VERSION(1, 0, 0) -typedef const char* cstring; \ No newline at end of file +typedef const char* cstring; diff --git a/ZEngine/ZEngine/pch.cpp b/ZEngine/ZEngine/pch.cpp deleted file mode 100644 index 8781bfd8..00000000 --- a/ZEngine/ZEngine/pch.cpp +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/ZEngine/ZEngine/pch.h b/ZEngine/ZEngine/pch.h deleted file mode 100644 index a4d3f4a2..00000000 --- a/ZEngine/ZEngine/pch.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include diff --git a/ZEngine/tests/CMakeLists.txt b/ZEngine/tests/CMakeLists.txt index a7e8d998..ced6e059 100644 --- a/ZEngine/tests/CMakeLists.txt +++ b/ZEngine/tests/CMakeLists.txt @@ -1,10 +1,22 @@ -file ( GLOB TEST_SOURCES - Memory/*.cpp - Containers/*.cpp - Maths/*.cpp - Misc/*.cpp) +add_executable(ZEngineTests) -add_executable(ZEngineTests ${TEST_SOURCES}) +target_sources(ZEngineTests + PRIVATE + Misc/shaderCompiler_test.cpp + Misc/ThreadPool_test.cpp + Memory/IntrusiveWeakPtr_test.cpp + Memory/IntrusivePtr_test.cpp + Memory/handleManager_test.cpp + Memory/bitmap_test.cpp + Memory/allocator_test.cpp + Memory/MemoryOperation_test.cpp + Containers/string_test.cpp + Containers/array_test.cpp + Containers/initializerlist_test.cpp + Containers/hashmap_test.cpp + Maths/Matrix_test.cpp + Maths/Vector_test.cpp +) target_link_libraries(ZEngineTests PRIVATE zEngineLib diff --git a/ZEngine/tests/Containers/array_test.cpp b/ZEngine/tests/Containers/array_test.cpp index 880795c6..c8138c52 100644 --- a/ZEngine/tests/Containers/array_test.cpp +++ b/ZEngine/tests/Containers/array_test.cpp @@ -1,4 +1,4 @@ -#include +#include #include using namespace ZEngine::Core::Containers; @@ -134,4 +134,4 @@ TEST_F(ArrayTest, ArrayViewWrap) view[1] = 99; EXPECT_EQ(array[1], 99); -} \ No newline at end of file +} diff --git a/ZEngine/tests/Containers/hashmap_test.cpp b/ZEngine/tests/Containers/hashmap_test.cpp index 580cdac8..2334c061 100644 --- a/ZEngine/tests/Containers/hashmap_test.cpp +++ b/ZEngine/tests/Containers/hashmap_test.cpp @@ -1,7 +1,6 @@ -#include -#include +#include +#include #include -#include using namespace ZEngine::Core::Containers; using namespace ZEngine::Core::Memory; @@ -260,4 +259,4 @@ TEST_F(HashMapTest, UserDefinedStructViewIterations) } EXPECT_EQ(matched_count, 3); -} \ No newline at end of file +} diff --git a/ZEngine/tests/Containers/initializerlist_test.cpp b/ZEngine/tests/Containers/initializerlist_test.cpp index 9b02bc2c..6da06e81 100644 --- a/ZEngine/tests/Containers/initializerlist_test.cpp +++ b/ZEngine/tests/Containers/initializerlist_test.cpp @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include #include using namespace ZEngine::Core::Containers; diff --git a/ZEngine/tests/Containers/string_test.cpp b/ZEngine/tests/Containers/string_test.cpp index a366e896..bdf847a5 100644 --- a/ZEngine/tests/Containers/string_test.cpp +++ b/ZEngine/tests/Containers/string_test.cpp @@ -1,4 +1,4 @@ -#include +#include #include using namespace ZEngine::Core::Containers; diff --git a/ZEngine/tests/Maths/Matrix_test.cpp b/ZEngine/tests/Maths/Matrix_test.cpp index e57e6fde..6bd90678 100644 --- a/ZEngine/tests/Maths/Matrix_test.cpp +++ b/ZEngine/tests/Maths/Matrix_test.cpp @@ -1,4 +1,4 @@ -#include +#include #include using namespace ZEngine::Core::Maths; diff --git a/ZEngine/tests/Maths/Vector_test.cpp b/ZEngine/tests/Maths/Vector_test.cpp index 31b75e3c..17beff97 100644 --- a/ZEngine/tests/Maths/Vector_test.cpp +++ b/ZEngine/tests/Maths/Vector_test.cpp @@ -1,4 +1,4 @@ -#include +#include #include using namespace ZEngine::Core::Maths; @@ -148,4 +148,4 @@ TEST(VectorTest, Normalized) EXPECT_NEAR(n.x, 0.6f, 1e-5f); EXPECT_NEAR(n.y, 0.8f, 1e-5f); EXPECT_NEAR(n.magnitude(), 1.0f, 1e-5f); -} \ No newline at end of file +} diff --git a/ZEngine/tests/Memory/IntrusivePtr_test.cpp b/ZEngine/tests/Memory/IntrusivePtr_test.cpp index dc01e943..bd393599 100644 --- a/ZEngine/tests/Memory/IntrusivePtr_test.cpp +++ b/ZEngine/tests/Memory/IntrusivePtr_test.cpp @@ -1,5 +1,5 @@ +#include #include -#include "Helpers/IntrusivePtr.h" using namespace ZEngine::Helpers; @@ -320,4 +320,4 @@ TEST(IntrusivePtrTest, BaseDerivedType) IntrusivePtr intrusivePtr3 = make_intrusive(5); IntrusivePtr intrusivePtr4 = make_intrusive(5); intrusivePtr3 = intrusivePtr4; -} \ No newline at end of file +} diff --git a/ZEngine/tests/Memory/IntrusiveWeakPtr_test.cpp b/ZEngine/tests/Memory/IntrusiveWeakPtr_test.cpp index 4487a607..e79b05a0 100644 --- a/ZEngine/tests/Memory/IntrusiveWeakPtr_test.cpp +++ b/ZEngine/tests/Memory/IntrusiveWeakPtr_test.cpp @@ -1,5 +1,5 @@ +#include #include -#include "Helpers/IntrusivePtr.h" using namespace ZEngine::Helpers; @@ -136,4 +136,4 @@ TEST(IntrusiveWeakPtrTest, BaseDerivedType) IntrusivePtr intrusivePtr3 = make_intrusive(5); IntrusiveWeakPtr intrusiveWeakPtr4; intrusiveWeakPtr4 = intrusivePtr3; -} \ No newline at end of file +} diff --git a/ZEngine/tests/Memory/MemoryOperation_test.cpp b/ZEngine/tests/Memory/MemoryOperation_test.cpp index 6217a309..eabc8935 100644 --- a/ZEngine/tests/Memory/MemoryOperation_test.cpp +++ b/ZEngine/tests/Memory/MemoryOperation_test.cpp @@ -1,5 +1,5 @@ +#include #include -#include "Helpers/MemoryOperations.h" using namespace ZEngine::Helpers; diff --git a/ZEngine/tests/Memory/allocator_test.cpp b/ZEngine/tests/Memory/allocator_test.cpp index 424a0c73..31585bad 100644 --- a/ZEngine/tests/Memory/allocator_test.cpp +++ b/ZEngine/tests/Memory/allocator_test.cpp @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include #include using namespace ZEngine; @@ -82,14 +82,14 @@ TEST(AllocatorTest, ArenaMemoryManager) void Func() {} }; - int* intPtr = ZPushArray(&(manager.ArenaAllocator), int, 1); - auto structPtr = ZPushStruct(&(manager.ArenaAllocator), Foo); + int* intPtr = ZPushArray(&(manager.m_ArenaAllocator), int, 1); + auto structPtr = ZPushStruct(&(manager.m_ArenaAllocator), Foo); *intPtr = 12; structPtr->x = 12; structPtr->y = 798.0f; - char* str = ZPushString(&(manager.ArenaAllocator), 12); + char* str = ZPushString(&(manager.m_ArenaAllocator), 12); Helpers::secure_memmove(str, 12, "hello", 5); EXPECT_EQ(*intPtr, 12); @@ -121,7 +121,7 @@ TEST(AllocatorTest, ArenaMemoryTemp) { MemoryManager manager{}; manager.Initialize({.DefaultSize = ZKilo(10)}); - auto arena = &(manager.ArenaAllocator); + auto arena = &(manager.m_ArenaAllocator); { auto fooPtr = ZPushStruct(arena, Foo); fooPtr->x = 10; @@ -142,7 +142,7 @@ TEST(AllocatorTest, ArenaMemoryPool) { MemoryManager manager{}; manager.Initialize({.DefaultSize = ZKilo(10)}); - auto arena = &(manager.ArenaAllocator); + auto arena = &(manager.m_ArenaAllocator); { PoolAllocator pool; pool.Initialize(arena, sizeof(Foo) * 100, sizeof(Foo)); diff --git a/ZEngine/tests/Memory/bitmap_test.cpp b/ZEngine/tests/Memory/bitmap_test.cpp index 8fdeeed8..75485fe2 100644 --- a/ZEngine/tests/Memory/bitmap_test.cpp +++ b/ZEngine/tests/Memory/bitmap_test.cpp @@ -1,7 +1,7 @@ -#include +#include #include -#include -#include +#include +#include #include #include @@ -87,4 +87,4 @@ TEST(BitmapTest, TestVerticalCross2) EXPECT_TRUE(std::filesystem::exists(current_path + "/screenshot3.hdr")); EXPECT_TRUE(std::filesystem::exists(current_path + "/screenshot4.hdr")); -} \ No newline at end of file +} diff --git a/ZEngine/tests/Memory/handleManager_test.cpp b/ZEngine/tests/Memory/handleManager_test.cpp index 7957ff4d..ce5f0d5c 100644 --- a/ZEngine/tests/Memory/handleManager_test.cpp +++ b/ZEngine/tests/Memory/handleManager_test.cpp @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include #include #include @@ -10,7 +10,7 @@ class HandleManagerTest : public ::testing::Test void SetUp() override { manager.Initialize({.DefaultSize = ZKilo(10)}); - auto arena = &(manager.ArenaAllocator); + auto arena = &(manager.m_ArenaAllocator); handle_manager.Initialize(arena, 10); } @@ -114,7 +114,7 @@ TEST_F(HandleManagerTest, ReuseSlot) TEST_F(HandleManagerTest, ConcurrentAccess) { ZEngine::Helpers::HandleManager h_manager; - h_manager.Initialize(&(manager.ArenaAllocator), 40); + h_manager.Initialize(&(manager.m_ArenaAllocator), 40); const int numThreads = 4; const int numOperationsPerThread = 10; std::vector threads; @@ -145,4 +145,4 @@ TEST_F(HandleManagerTest, ConcurrentAccess) { thread.join(); } -} \ No newline at end of file +} diff --git a/ZEngine/tests/Misc/ThreadPool_test.cpp b/ZEngine/tests/Misc/ThreadPool_test.cpp index 51b4100e..cc47e177 100644 --- a/ZEngine/tests/Misc/ThreadPool_test.cpp +++ b/ZEngine/tests/Misc/ThreadPool_test.cpp @@ -1,5 +1,5 @@ +#include #include -#include "Helpers/ThreadPool.h" using namespace ZEngine::Helpers; diff --git a/ZEngine/tests/Misc/shaderCompiler_test.cpp b/ZEngine/tests/Misc/shaderCompiler_test.cpp index 2de44e87..396d7c2e 100644 --- a/ZEngine/tests/Misc/shaderCompiler_test.cpp +++ b/ZEngine/tests/Misc/shaderCompiler_test.cpp @@ -1,7 +1,6 @@ -#include +#include #include #include -#include using namespace ZEngine::Rendering::Shaders::Compilers; namespace fs = std::filesystem; diff --git a/__externals/CLI11 b/__externals/CLI11 deleted file mode 160000 index f75fd22b..00000000 --- a/__externals/CLI11 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f75fd22ba323bbb3b6621ed9beaf8f52f24796fd diff --git a/__externals/ImGuizmo b/__externals/ImGuizmo deleted file mode 160000 index e3174578..00000000 --- a/__externals/ImGuizmo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e3174578bdc99c715e51c5ad88e7d50b4eeb19b0 diff --git a/__externals/SPIRV-Cross b/__externals/SPIRV-Cross deleted file mode 160000 index 4818f7e7..00000000 --- a/__externals/SPIRV-Cross +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4818f7e7ef7b7078a3a7a5a52c4a338e0dda22f4 diff --git a/__externals/SPIRV-Tools b/__externals/SPIRV-Tools deleted file mode 160000 index dda7731e..00000000 --- a/__externals/SPIRV-Tools +++ /dev/null @@ -1 +0,0 @@ -Subproject commit dda7731e91c130e64980d987a02f5c75356400cc diff --git a/__externals/SPIRV-headers b/__externals/SPIRV-headers deleted file mode 160000 index 7d500c4d..00000000 --- a/__externals/SPIRV-headers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7d500c4d75ae3fbd37e1d5a20008ca9c8ee3c860 diff --git a/__externals/Vulkan-Headers b/__externals/Vulkan-Headers deleted file mode 160000 index b379292b..00000000 --- a/__externals/Vulkan-Headers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b379292b2ab6df5771ba9870d53cf8b2c9295daf diff --git a/__externals/Vulkan-Loader b/__externals/Vulkan-Loader deleted file mode 160000 index 40b8e6ee..00000000 --- a/__externals/Vulkan-Loader +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 40b8e6eeead809a62c708cb48fdd9f8f2eab3f15 diff --git a/__externals/VulkanMemoryAllocator b/__externals/VulkanMemoryAllocator deleted file mode 160000 index 5e43c795..00000000 --- a/__externals/VulkanMemoryAllocator +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5e43c795daf43dd09398d8307212e85025215052 diff --git a/__externals/assimp b/__externals/assimp deleted file mode 160000 index 70f5cca9..00000000 --- a/__externals/assimp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 70f5cca9c3ebd84b89c5775852ac9aa2449f6c5b diff --git a/__externals/entt b/__externals/entt deleted file mode 160000 index 41aab920..00000000 --- a/__externals/entt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 41aab920b083aa424ac1d27666ce287eeaff6ceb diff --git a/__externals/externals.cmake b/__externals/externals.cmake deleted file mode 100644 index 35f6d663..00000000 --- a/__externals/externals.cmake +++ /dev/null @@ -1,60 +0,0 @@ -# Packages -# -set(EXTERNAL_INCLUDE_DIRS - ${EXTERNAL_DIR}/Vulkan-Headers/build/install/include - ${EXTERNAL_DIR}/fmt/include - ${EXTERNAL_DIR}/glm/glm - ${EXTERNAL_DIR}/imgui/src - ${EXTERNAL_DIR}/tlsf/src - ${EXTERNAL_DIR}/rapidhash/src - ${EXTERNAL_DIR}/spdlog/include - ${EXTERNAL_DIR}/glfw/include - ${EXTERNAL_DIR}/entt - ${EXTERNAL_DIR}/assimp/include - ${EXTERNAL_DIR}/stduuid/include - ${EXTERNAL_DIR}/yaml-cpp/include - ${EXTERNAL_DIR}/SPIRV-headers - ${EXTERNAL_DIR}/SPIRV-Tools - ${EXTERNAL_DIR}/glslang - ${EXTERNAL_DIR}/SPIRV-Cross - ${EXTERNAL_DIR}/VulkanMemoryAllocator - ${EXTERNAL_DIR}/nlohmann_json/single_include - ${EXTERNAL_DIR}/CLI11/include -) - -if (MSVC) - target_compile_options(assimp PRIVATE /Wv:18) # Fix zip lib compile issue -elseif(APPLE) - target_compile_options(assimp PRIVATE -Wno-shorten-64-to-32 -Wno-unused-but-set-variable -Wno-deprecated-declarations) -endif() - -if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - target_link_libraries(imgui PUBLIC ${CMAKE_DL_LIBS}) -endif() - -add_library (imported::External_libs INTERFACE IMPORTED) -add_library(imported::External_editorLibs INTERFACE IMPORTED) - - -target_link_libraries(imported::External_editorLibs INTERFACE - CLI11::CLI11 -) - -target_link_libraries(imported::External_libs INTERFACE - vulkan - fmt - glm - imgui - spdlog - glfw - EnTT - assimp - stduuid - yaml-cpp - spirv-cross-reflect spirv-cross-glsl - GPUOpen::VulkanMemoryAllocator - glslang SPIRV - SPIRV-Tools - tlsf - rapidhash -) diff --git a/__externals/fmt b/__externals/fmt deleted file mode 160000 index e41ac1f8..00000000 --- a/__externals/fmt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e41ac1f875b7a1c419beaf7ddf431a01fb530a92 diff --git a/__externals/glfw b/__externals/glfw deleted file mode 160000 index fb0f2f92..00000000 --- a/__externals/glfw +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fb0f2f92a38c1d6a776ffeb253329f8d1c65694c diff --git a/__externals/glm b/__externals/glm deleted file mode 160000 index 84f2045a..00000000 --- a/__externals/glm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 84f2045a79a4aa2454801a98e2de0401bd9c8aee diff --git a/__externals/glslang b/__externals/glslang deleted file mode 160000 index 32257786..00000000 --- a/__externals/glslang +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3225778615fd9d7e23fd11b71a05097d59ba0247 diff --git a/__externals/gtest b/__externals/gtest deleted file mode 160000 index b10fad38..00000000 --- a/__externals/gtest +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b10fad38c4026a29ea6561ab15fc4818170d1c10 diff --git a/__externals/imgui/CMakeLists.txt b/__externals/imgui/CMakeLists.txt deleted file mode 100644 index 4b1e0f25..00000000 --- a/__externals/imgui/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -set(CMAKE_CXX_STANDARD 11) - -list (APPEND IMGUI_SOURCE - src/imgui.h - src/imgui_internal.h - src/imgui.cpp - src/imgui_tables.cpp - src/imgui_widgets.cpp - src/imgui_demo.cpp - src/imgui_draw.cpp - src/backends/imgui_impl_vulkan.cpp - src/backends/imgui_impl_glfw.cpp -) - -# Source files -# -add_library (imgui STATIC ${IMGUI_SOURCE}) - -# include directories -# -target_include_directories (imgui - PUBLIC - ./src - ./src/backends - ${EXTERNAL_DIR}/glfw/include - PRIVATE - ${EXTERNAL_DIR}/Vulkan-Headers/build/install/include -) - diff --git a/__externals/imgui/src b/__externals/imgui/src deleted file mode 160000 index c191faf0..00000000 --- a/__externals/imgui/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c191faf0ba478e9c58a69c63306986a21ebfb6e4 diff --git a/__externals/nlohmann_json b/__externals/nlohmann_json deleted file mode 160000 index 0457de21..00000000 --- a/__externals/nlohmann_json +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0457de21cffb298c22b629e538036bfeb96130b7 diff --git a/__externals/rapidhash/CMakeLists.txt b/__externals/rapidhash/CMakeLists.txt deleted file mode 100644 index 44218ca0..00000000 --- a/__externals/rapidhash/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.12) -project(rapidhash) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -add_library(rapidhash INTERFACE) - -target_include_directories(rapidhash INTERFACE - $ -) diff --git a/__externals/rapidhash/src b/__externals/rapidhash/src deleted file mode 160000 index c1f35e3a..00000000 --- a/__externals/rapidhash/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c1f35e3a44010bf90a9008013d8ab7c7b9aaae2c diff --git a/__externals/spdlog b/__externals/spdlog deleted file mode 160000 index 6491abb5..00000000 --- a/__externals/spdlog +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6491abb519a6a15792c1c6717270ce6c9ba4d72e diff --git a/__externals/stb b/__externals/stb deleted file mode 160000 index 8e51be04..00000000 --- a/__externals/stb +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8e51be04dc7dcee462e1f09e410faceab52cc6d2 diff --git a/__externals/stduuid b/__externals/stduuid deleted file mode 160000 index 5c538cca..00000000 --- a/__externals/stduuid +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5c538cca02932aa0266659661d5b4726f3a317c7 diff --git a/__externals/tlsf/CMakeLists.txt b/__externals/tlsf/CMakeLists.txt deleted file mode 100644 index 2ea24439..00000000 --- a/__externals/tlsf/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -set(CMAKE_CXX_STANDARD 11) - -list (APPEND TLSF_SOURCE - src/tlsf.h - src/tlsf.c -) - -# Source files -# -add_library (tlsf STATIC ${TLSF_SOURCE}) - -# include directories -# -target_include_directories (tlsf - PUBLIC - ./src -) - diff --git a/__externals/tlsf/src b/__externals/tlsf/src deleted file mode 160000 index deff9ab5..00000000 --- a/__externals/tlsf/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit deff9ab509341f264addbd3c8ada533678591905 diff --git a/__externals/yaml-cpp b/__externals/yaml-cpp deleted file mode 160000 index c73ee347..00000000 --- a/__externals/yaml-cpp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c73ee34704c512ebe915b283645aefa9f424a22f diff --git a/dependencies.cmake b/dependencies.cmake deleted file mode 100644 index 9f729772..00000000 --- a/dependencies.cmake +++ /dev/null @@ -1,20 +0,0 @@ -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - # Install necessary NuGet dependencies - install_nuget_package(Microsoft.Windows.CppWinRT 2.0.240405.15 CPPWINRT_NUGET_PATH) - - # Generate CppWinRT headers for the local OS - generate_winrt_headers( - EXECUTABLE - ${CPPWINRT_NUGET_PATH}/bin/cppwinrt.exe - INPUT - local - OUTPUT - ${CMAKE_BINARY_DIR}/__winrt - OPTIMIZE - ) - - add_library(imported::cppwinrt_headers INTERFACE IMPORTED) - target_include_directories(imported::cppwinrt_headers INTERFACE - ${CMAKE_BINARY_DIR}/__winrt - ) -endif() \ No newline at end of file diff --git a/externals.cmake b/externals.cmake new file mode 100644 index 00000000..032dab2f --- /dev/null +++ b/externals.cmake @@ -0,0 +1,244 @@ +include(FetchContent) + +#externalpackagesettings + +#ENTT +set(ENTT_INCLUDE_HEADERS=ON) + +#SPDLOG +set(SPDLOG_BUILD_SHARED=OFF) +set(BUILD_STATIC_LIBS=ON) +set(SPDLOG_FMT_EXTERNAL=ON) +set(SPDLOG_FMT_EXTERNAL_HO=OFF) + +#GLFW +set(GLFW_BUILD_DOCS=OFF) +set(GLFW_BUILD_EXAMPLES=OFF) +set(GLFW_INSTALL=OFF) + +#ASSIMP +set(ASSIMP_BUILD_TESTS=OFF) +set(ASSIMP_INSTALL=OFF) +set(ASSIMP_BUILD_SAMPLES=OFF) +set(ASSIMP_BUILD_ASSIMP_TOOLS=OFF) +set(ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF) +set(ASSIMP_BUILD_OBJ_IMPORTER=ON) +set(ASSIMP_BUILD_ALL_EXPORTERS_BY_DEFAULT=OFF) +set(ASSIMP_BUILD_OBJ_EXPORTER=ON) + +#STDUUID +set(UUID_BUILD_TESTS=OFF) +set(UUID_USING_CXX20_SPAN=ON) +set(UUID_SYSTEM_GENERATOR=OFF) + +#YAMLCPP +set(YAML_CPP_BUILD_TOOLS=OFF) +set(YAML_CPP_BUILD_TESTS=OFF) +set(YAML_CPP_FORMAT_SOURCE=OFF) +set(YAML_BUILD_SHARED_LIBS=OFF) + +#VULKAN_LOADER +set(USE_MASM=OFF) +set(USE_GAS=OFF) + +#GLSLANG +set(ALLOW_EXTERNAL_SPIRV_TOOLS=ON) + +#SPIRV_TOOLS +set(SPIRV_SKIP_EXECUTABLES=ON) +set(SPIRV_SKIP_TESTS=ON) +set(ENABLE_OPT=OFF) + +#SPIRV_CROSS +set(SPIRV_CROSS_ENABLE_TESTS=OFF) + +#GLM +set(CMAKE_POLICY_VERSION_MINIMUM=3.5) + +FetchContent_Declare( + fmt + GIT_REPOSITORY https://github.com/fmtlib/fmt.git + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + imgui + GIT_REPOSITORY https://github.com/ocornut/imgui.git + GIT_SHALLOW TRUE + GIT_TAG v1.89.9-docking + ) + +FetchContent_Declare( + imguizmo + GIT_REPOSITORY https://github.com/CedricGuillemet/ImGuizmo.git + GIT_SHALLOW TRUE + GIT_TAG 1.83 + ) + +FetchContent_Declare( + stbimage + GIT_REPOSITORY https://github.com/nothings/stb.git + SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/stbimage + GIT_SHALLOW TRUE) + +FetchContent_Declare( + glfw3 + GIT_REPOSITORY https://github.com/glfw/glfw.git + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + spdlog + GIT_REPOSITORY https://github.com/gabime/spdlog.git + GIT_SHALLOW TRUE + GIT_TAG v1.15.3 + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + glm + GIT_REPOSITORY https://github.com/g-truc/glm.git + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + EnTT + GIT_REPOSITORY https://github.com/skypjack/entt.git + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + assimp + GIT_REPOSITORY https://github.com/assimp/assimp.git + GIT_TAG v5.3.0 + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + stduuid + GIT_REPOSITORY https://github.com/mariusbancila/stduuid.git + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + yaml-cpp + GIT_REPOSITORY https://github.com/jbeder/yaml-cpp + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + + +FetchContent_Declare( + spirv_cross_core + GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Cross.git + GIT_TAG main + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + VulkanMemoryAllocator + GIT_REPOSITORY + https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS + ) + +FetchContent_Declare( + SPIRV-Headers + GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Headers.git + GIT_SHALLOW TRUE + GIT_TAG main + FIND_PACKAGE_ARGS +) + +FetchContent_Declare( + glslang + GIT_REPOSITORY https://github.com/KhronosGroup/glslang.git + GIT_SHALLOW TRUE + GIT_TAG main-tot + SOURCE_DIR "${FETCHCONTENT_BASE_DIR}/glslang" + FIND_PACKAGE_ARGS +) + + +FetchContent_Declare( + SPIRV-Tools + GIT_REPOSITORY https://github.com/KhronosGroup/SPIRV-Tools.git + GIT_SHALLOW TRUE + GIT_TAG main + FIND_PACKAGE_ARGS +) + + +Fetchcontent_Declare( + GTest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_SHALLOW TRUE + GIT_TAG main + FIND_PACKAGE_ARGS +) + +Fetchcontent_Declare( + nlohmann_json + GIT_REPOSITORY https://github.com/nlohmann/json.git + GIT_SHALLOW TRUE + FIND_PACKAGE_ARGS +) + +Fetchcontent_Declare( + tlsf + GIT_REPOSITORY https://github.com/mattconte/tlsf + GIT_SHALLOW TRUE + SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/tlsf + FIND_PACKAGE_ARGS +) + +Fetchcontent_Declare( + CLI11 + GIT_REPOSITORY https://github.com/CLIUtils/CLI11 + GIT_SHALLOW TRUE + GIT_TAG main + SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/CLI11 + FIND_PACKAGE_ARGS +) + + +Fetchcontent_Declare( + rapidhash + GIT_REPOSITORY https://github.com/Nicoshev/rapidhash + GIT_SHALLOW TRUE + SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/rapidhash + FIND_PACKAGE_ARGS +) + + +FetchContent_MakeAvailable( + fmt + imgui + ImGuizmo + stbimage + glfw3 + spdlog + glm + EnTT + assimp + stduuid + yaml-cpp + spirv_cross_core + VulkanMemoryAllocator + SPIRV-Headers + SPIRV-Tools + glslang + GTest + nlohmann_json + tlsf + CLI11 + rapidhash + )