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 + )