VulkanSplatting is an (not-yet-highly-) optimized, cross-platform implementation of Gaussian Splatting using the Vulkan API and compute pipelines.
./vulkan_splatting [options] <input_file.ply>
-h
,--help
: Show help message and exit-v
,--validation-layers
: Enable Vulkan validation layers-d
,--device
: Select physical device by index-i
,--immediate-swapchain
: Set swapchain mode to immediate (VK_PRESENT_MODE_IMMEDIATE_KHR)
We provide prebuilt binaries on amd64 for both Windows and Linux for each commit. There're available under the Artifacts section of each run here.
VulkanSplatting requires the following dependencies:
Vulkan headers, Vulkan validation layers, glslangValidator, glfw, glm
The easiest way to install the first three is through the LunarG Vulkan SDK. Alternatively, you can install the corresponding packages from your distro. For Ubuntu, the packages to install are vulkan-headers, vulkan-validationlayers, glslang-dev, libglfw3-dev, libglm-dev
.
After installing LunarG Vulkan SDK, set the VULKAN_SDK
environmental variable to the install path. Alternatively, pass -DVULKAN_SDK=\INSTALL\LOCATION\OF\YOUR\SDK
to CMake when configuring.
A full CMake configure command is as follows:
mkdir .\VulkanSplatting\build
cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_SDK=\INSTALL\LOCATION\OF\YOUR\SDK -S .\VulkanSplatting -B .\VulkanSplatting\build