diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 2f6659f..825dc4f 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -64,36 +64,34 @@ jobs: shell: bash run: | echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" - echo "vulkan-sdk-dir=${{ github.workspace }}/VULKAN_SDK" >> "$GITHUB_OUTPUT" - echo "artifact-name=vulkan_splatting_viewer-${{ matrix.os }}-${{ matrix.arch }}-nightly" >> "$GITHUB_OUTPUT" + # echo "vulkan-sdk-dir=${{ github.workspace }}/VULKAN_SDK" >> "$GITHUB_OUTPUT" + echo "artifact-name=3dgs_cpp_viewer-${{ matrix.os }}-${{ matrix.arch }}-nightly" >> "$GITHUB_OUTPUT" - name: Set artifact path (Windows) shell: bash - run: echo "ARTIFACT_PATH=${{ github.workspace }}/build/apps/viewer/Release/vulkan_splatting_viewer.exe" >> "$GITHUB_ENV" + run: echo "ARTIFACT_PATH=${{ github.workspace }}/build/apps/viewer/Release/3dgs_cpp_viewer.exe" >> "$GITHUB_ENV" if: runner.os == 'Windows' - name: Set artifact path (POSIX) shell: bash - run: echo "ARTIFACT_PATH=${{ github.workspace }}/build/apps/viewer/vulkan_splatting_viewer" >> "$GITHUB_ENV" + run: echo "ARTIFACT_PATH=${{ github.workspace }}/build/apps/viewer/3dgs_cpp_viewer" >> "$GITHUB_ENV" if: runner.os != 'Windows' - name: Install dependencies if: matrix.os == 'ubuntu-latest' run: sudo apt-get update && sudo apt-get install -y libglfw3-dev libglm-dev - - name: Prepare Vulkan SDK - uses: humbletim/setup-vulkan-sdk@v1.2.0 + - name: Install Vulkan SDK + uses: humbletim/install-vulkan-sdk@v1.1.1 with: - vulkan-query-version: latest - vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang, SPIRV-Tools - vulkan-use-cache: true + version: latest + cache: true - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} - -DVULKAN_SDK=${{ steps.strings.outputs.vulkan-sdk-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 5580987..1eb2b73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.26) -project(vulkan_splatting_root) +project(3dgs_cpp_root) include(FetchContent) diff --git a/README.md b/README.md index a2cbe13..9ec44da 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,15 @@ with support for warp-level primitives (subgroups). ![3DGS.cpp Demo macOS](https://github.com/shg8/3DGS.cpp/assets/38004233/66542056-ce30-4998-a612-dd4f6792599e) ## Downloads -* [Windows](https://github.com/shg8/3DGS.cpp/releases/download/nightly/vulkan_splatting_viewer-windows-latest-amd64-nightly) -* [macOS (arm64)](https://github.com/shg8/3DGS.cpp/releases/download/nightly/vulkan_splatting_viewer-macos-14-arm64-nightly) -* [Linux](https://github.com/shg8/3DGS.cpp/releases/download/nightly/vulkan_splatting_viewer-ubuntu-latest-amd64-nightly) +* [Windows](https://github.com/shg8/3DGS.cpp/releases/download/nightly/3dgs_cpp_viewer-windows-latest-amd64-nightly) +* [macOS (arm64)](https://github.com/shg8/3DGS.cpp/releases/download/nightly/3dgs_cpp_viewer-macos-14-arm64-nightly) +* [Linux](https://github.com/shg8/3DGS.cpp/releases/download/nightly/3dgs_cpp_viewer-ubuntu-latest-amd64-nightly) * iOS, iPad OS, visionOS (as an iPad app) on [TestFlight](https://testflight.apple.com/join/0WzabeP7) ## Command Line Viewer ``` - ./vulkan_splatting_viewer {OPTIONS} [scene] + ./3dgs_cpp_viewer {OPTIONS} [scene] Vulkan Splatting diff --git a/apps/apple/VulkanSplatting/VulkanSplatting-Bridging-Header.h b/apps/apple/VulkanSplatting/VulkanSplatting-Bridging-Header.h index a1270bc..c5cd8ea 100644 --- a/apps/apple/VulkanSplatting/VulkanSplatting-Bridging-Header.h +++ b/apps/apple/VulkanSplatting/VulkanSplatting-Bridging-Header.h @@ -2,7 +2,7 @@ // Use this file to import your target's public headers that you would like to expose to Swift. // -#include "VulkanSplatting.h" +#include "3dgs.h" #include #include diff --git a/apps/apple/VulkanSplatting/VulkanSplatting.xcodeproj/project.pbxproj b/apps/apple/VulkanSplatting/VulkanSplatting.xcodeproj/project.pbxproj index 877ca64..b730f49 100644 --- a/apps/apple/VulkanSplatting/VulkanSplatting.xcodeproj/project.pbxproj +++ b/apps/apple/VulkanSplatting/VulkanSplatting.xcodeproj/project.pbxproj @@ -90,7 +90,7 @@ B0EA8AA72BA302E6003B92F7 /* QueryManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QueryManager.cpp; sourceTree = ""; }; B0EA8AA82BA302E6003B92F7 /* DescriptorSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DescriptorSet.h; sourceTree = ""; }; B0EA8AA92BA302E6003B92F7 /* VulkanContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanContext.cpp; sourceTree = ""; }; - B0EA8AC82BA3034B003B92F7 /* VulkanSplatting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VulkanSplatting.h; path = ../../../include/vulkan_splatting/VulkanSplatting.h; sourceTree = ""; }; + B0EA8AC82BA3034B003B92F7 /* 3dgs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = 3dgs.h; path = ../../../include/vulkan_splatting/3dgs.h; sourceTree = ""; }; B0EA8ACB2BA30665003B92F7 /* shaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shaders.h; sourceTree = ""; }; B0EA8DC52BA30916003B92F7 /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK.xcframework; path = ../MoltenVK/dynamic/MoltenVK.xcframework; sourceTree = ""; }; B0EA900A2BA30CED003B92F7 /* vec4.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = vec4.hpp; sourceTree = ""; }; @@ -594,7 +594,7 @@ B0608E4E2BA55BBB00CE9114 /* VulkanSplatting.cpp */, B0EA924B2BA30EA2003B92F7 /* DummyGUIManager.cpp */, B0EA8ACB2BA30665003B92F7 /* shaders.h */, - B0EA8AC82BA3034B003B92F7 /* VulkanSplatting.h */, + B0EA8AC82BA3034B003B92F7 /* 3dgs.h */, B0EA8A772BA302E6003B92F7 /* GSScene.cpp */, B0EA8A7A2BA302E6003B92F7 /* GSScene.h */, B0EA8A792BA302E6003B92F7 /* GUIManager.h */, diff --git a/apps/viewer/CMakeLists.txt b/apps/viewer/CMakeLists.txt index 392b667..7111603 100644 --- a/apps/viewer/CMakeLists.txt +++ b/apps/viewer/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.26) -project(vulkan_splatting_viewer) +project(3dgs_cpp_viewer) -add_executable(vulkan_splatting_viewer main.cpp) +add_executable(3dgs_cpp_viewer main.cpp) -target_include_directories(vulkan_splatting_viewer PRIVATE third_party) +target_include_directories(3dgs_cpp_viewer PRIVATE third_party) -target_link_libraries(vulkan_splatting_viewer PRIVATE +target_link_libraries(3dgs_cpp_viewer PRIVATE libenvpp::libenvpp - vulkan_splatting) \ No newline at end of file + 3dgs_cpp) \ No newline at end of file diff --git a/apps/viewer/main.cpp b/apps/viewer/main.cpp index de1a596..e65a3e6 100644 --- a/apps/viewer/main.cpp +++ b/apps/viewer/main.cpp @@ -2,7 +2,7 @@ #include #include -#include "VulkanSplatting.h" +#include "3dgs.h" #include "args.hxx" #include "spdlog/spdlog.h" diff --git a/include/vulkan_splatting/VulkanSplatting.h b/include/3dgs/3dgs.h similarity index 100% rename from include/vulkan_splatting/VulkanSplatting.h rename to include/3dgs/3dgs.h diff --git a/src/VulkanSplatting.cpp b/src/3dgs.cpp similarity index 97% rename from src/VulkanSplatting.cpp rename to src/3dgs.cpp index 75bfefe..9480a28 100644 --- a/src/VulkanSplatting.cpp +++ b/src/3dgs.cpp @@ -1,4 +1,4 @@ -#include "VulkanSplatting.h" +#include "3dgs.h" #include "Renderer.h" #ifdef VKGS_ENABLE_GLFW diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 660a56b..36e817f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.26) -project(vulkan_splatting) +project(3dgs_cpp) add_subdirectory(shaders) @@ -21,14 +21,14 @@ file(GLOB SOURCE # Remove DummyGUIManager.cpp from source list list(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/DummyGUIManager.cpp) -add_library(vulkan_splatting STATIC +add_library(3dgs_cpp STATIC ${SOURCE} ${EXTERNAL_SOURCE} ) -target_include_directories(vulkan_splatting +target_include_directories(3dgs_cpp PUBLIC - ${CMAKE_SOURCE_DIR}/include/vulkan_splatting + ${CMAKE_SOURCE_DIR}/include/3dgs PRIVATE third_party ${Vulkan_INCLUDE_DIRS} @@ -40,9 +40,9 @@ target_include_directories(vulkan_splatting ${CMAKE_BINARY_DIR}/shaders ) -add_dependencies(vulkan_splatting shaders) +add_dependencies(3dgs_cpp shaders) -target_link_libraries(vulkan_splatting PUBLIC Vulkan::Vulkan glfw spdlog::spdlog) +target_link_libraries(3dgs_cpp PUBLIC Vulkan::Vulkan glfw spdlog::spdlog) if (UNIX) - target_link_libraries(vulkan_splatting PUBLIC ${CMAKE_DL_LIBS}) + target_link_libraries(3dgs_cpp PUBLIC ${CMAKE_DL_LIBS}) endif () \ No newline at end of file diff --git a/src/Renderer.h b/src/Renderer.h index 821e5c5..04347a2 100644 --- a/src/Renderer.h +++ b/src/Renderer.h @@ -4,7 +4,7 @@ #define GLM_SWIZZLE #include -#include "VulkanSplatting.h" +#include "3dgs.h" #include "vulkan/Window.h" #include "GSScene.h"