maksym-pasichnyk / VulkanSplatting

A cross-platform, high performance renderer for Gaussian Splatting using Vulkan Compute

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VulkanSplatting

VulkanSplatting is an (not-yet-highly-) optimized, cross-platform implementation of Gaussian Splatting using the Vulkan API and compute pipelines.

Windows + Linux

VulkanSplatting Demo macOS

Command Line Usage

./vulkan_splatting [options] <input_file.ply>

Options

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

Prebuilt Binaries

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.

Building

Linux

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.

Windows

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

About

A cross-platform, high performance renderer for Gaussian Splatting using Vulkan Compute

License:GNU Lesser General Public License v2.1


Languages

Language:C++ 94.8%Language:CMake 3.6%Language:GLSL 1.6%