vk_gaussian_splatting

nvpro-samplesApache-2.0活跃维护

基于 Vulkan 的 3D 高斯泼溅高级查看器,集成光栅化、光线追踪与网格着色器等多种渲染方式,用于实时可视化三维高斯场景。

Advanced viewer implementing several rendering methods for 3D gaussians using Vulkan API

2026.2.12发布于 2026-11-02 14:36 UTC517star57fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
下载 Releases 中对应系统的压缩包,解压后运行 vk_gaussian_splatting[.exe];再把 flowers_1.ply 拖入视口即可查看
硬件要求按 README 说明

需要 NVIDIA GPU 或完整支持 Vulkan 1.4 的 GPU,64 位 Windows 或 Linux;README 未给出具体显存要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 Vulkan 实时可视化 3D Gaussian Splatting 模型的查看器,可对比多种渲染管线

基于 Vulkan 的 3D 高斯泼溅高级查看器,集成光栅化、光线追踪与网格着色器等多种渲染方式,用于实时可视化三维高斯场景。

核心能力

  • 实现光栅化、光线追踪与混合三类渲染管线
  • 提供 VK3DGSR、VK3DGRT、VK3DGUT、VK3DGHR 多种实现
  • 支持随机透明、光照与阴影、GGX PBR 材质
  • 支持 glTF/GLB 网格加载与 DLSS 降噪
  • 提供无头模式与命令行接口做基准测试

容易踩的坑

项目只是查看器,不生成也不训练 3DGS 模型,需自备 .ply 等模型文件;示例模型要单独从 NVIDIA 链接下载;需 GPU 支持 Vulkan 1.4,老显卡可能无法运行

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本2026.2.12
  1. 2026.2.12最新正式版2026-11-02 · 2026-11-02 14:36 UTC
  2. 2026.2.112026-11-02 · 2026-11-02 14:36 UTC
    查看更新说明
  3. 2026.2.92026-09-03 · 2026-09-03 16:30 UTC
    查看更新说明

    Release 2026.2.9

    • Faster ray tracing with reduced per-ray payload and improved stochastic transparency
    • Fixed splat materials being taken from the wrong splat set in raster and hybrid with lighting enabled
    • Cross-platform asset paths for reliable project saving and loading across Windows and Linux
    • Updated sample projects and dataset listings featuring winter garden content (🔥new video)
    • Fixed the build with -DUSE_DLSS=OFF, and a crash when saving images before the first frame

    See Release Notes for full details.

  4. 2026.2.02026-06-04 · 2026-06-04 19:18 UTC
    查看更新说明

    Release 2026.2

    Highlights:

    • GGX PBR materials (metallic-roughness) replacing Phong, with indirect lighting for splat sets
    • glTF/GLB mesh loading with full PBR textures, emissive, and scene-graph flattening
    • Physically-based lighting: IBL environment maps, physical sky background, and NEE + BRDF path tracing with MIS
    • Tone mapping and auto-exposure integrated from nvpro_core2
    • Billboard ray tracing path with intersection shaders and selectable TLAS bounding modes
    • Sphere primitive mode via VK_NV_ray_tracing_linear_swept_spheres
    • Shared TLAS for per-particle RTX with reduced VRAM and fewer acceleration-structure rebuilds
    • DLSS improvements: motion vectors for meshes and splat sets, hardware depth, firefly clamp
    • Renderer UI rework with Denoising / Rasterization / Raytracing tabs
    • Save / Save As projects including renderer and tonemapping settings
    • Samples folder with an asset-download build script and new sample projects
    • Billboard benchmark suite and headless mode with an expanded CLI
    • Platform: HardwareSupport capability registry, Intel Arc and Linux build fixes, upgraded nvpro_core2

    See Release Notes for full details.

  5. 2026.1.72026-04-30 · 2026-04-30 16:51 UTC
    查看更新说明
    • Pre-built binaries for Linux 64 and Windows 64 available on GitHub Releases page
    • New online documentation website — user guides, technical deep dives, and references now available as a browsable site
    • Simplified root README.md
    • Rendering pipeline selector added to the menu bar
    • Navigation mode icons in toolbar with improved camera controls
    • Fix profiler reporting during camera drag in raster/hybrid pipelines
    • Fix 32-bit addressing overflow in sorting buffers by converting to LargeBuffer (supports larger models)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Vulkan Gaussian Splatting

    License Download Documentation

    image showing the rendering modes on the train 3DGS model

    This project is a testbed to explore and compare various approaches to real-time visualization of 3D Gaussian Splatting (3DGS) [Kerbl2023] and related evolutions.

    This project is not a 3DGS reconstruction tool — it is a viewer. It does not generate or train models, only tries to visualize them at the highest possible speed.

    By evaluating various techniques and optimizations, we aim to provide valuable insights into performance, quality, and implementation trade-offs when using the Vulkan API.

    This project implements several rendering pipelines based on rasterization, ray tracing, and hybrid approaches. It can be used as a lab for developers or as a day-to-day viewer for your splats.

    Quick Start

    Requirements: NVIDIA GPU or Full Vulkan 1.4 enabled GPU, 64-bit Windows or Linux.

    1. Download the latest release for your OS
      • decompress the archive
      • run the executable vk_gaussian_splatting[.exe]
    2. Download this small 3DGS flowers model
      • decompress the archive
      • drag and drop the file flowers_1.ply into the app viewport
    3. Happy splatting!

    Documentation

    Please consult the documentation to browse:

    If you are working offline, you can browse the documentation markdown pages in the docs folder.

    Implemented pipelines features

    News

    • [2026/09] Release 2026.2.9
      • Faster ray tracing with reduced per-ray payload and improved stochastic transparency
      • Fixed splat materials being taken from the wrong splat set in raster and hybrid with lighting enabled
      • Cross-platform asset paths for reliable project saving and loading across Windows and Linux
      • Updated sample projects and dataset listings featuring winter garden content (🔥new video)
      • Fixed the build with -DUSE_DLSS=OFF, and a crash when saving images before the first frame
    • [2026/06] 🔥Release 2026.2
      • GGX PBR materials (metallic-roughness) replacing Phong, with indirect lighting for splat sets
      • glTF/GLB mesh loading with full PBR textures, emissive, and scene-graph flattening
      • Physically-based lighting: IBL environment maps, physical sky background, and NEE + BRDF path tracing with MIS
      • Tone mapping and auto-exposure integrated from nvpro_core2
      • Billboard ray tracing path with intersection shaders and selectable TLAS bounding modes
      • Sphere primitive mode via VK_NV_ray_tracing_linear_swept_spheres
      • Shared TLAS for per-particle RTX with reduced VRAM and fewer acceleration-structure rebuilds
      • DLSS improvements: motion vectors for meshes and splat sets, hardware depth, firefly clamp
      • Renderer UI rework with Denoising / Rasterization / Raytracing tabs
      • Save / Save As projects including renderer and tonemapping settings
      • Samples folder with an asset-download build script and new sample projects
      • Billboard benchmark suite and headless mode with an expanded CLI
      • Platform: HardwareSupport capability registry, Intel Arc and Linux build fixes, upgraded nvpro_core2

    For earlier releases and full details, see the Release Notes page.

    Support and Feedback

    For bug reports and feature requests, please use the GitHub Issues page.

    For general questions and discussions, please use the GitHub Q&A Discussions page.

    We would be very happy to get feedback from you, to know whether you use the software to learn, teach, apply to your own renderer, or just use it as a viewer. Please do not hesitate to give feedback and send screenshots in the GitHub Show and Tell Discussions page.

    Contributing

    Merge requests to vk_gaussian_splatting are welcome, and use the Developer Certificate of Origin (https://developercertificate.org included in CONTRIBUTING).

    When committing, please certify that your contribution adheres to the DCO and use git commit --sign-off. Thank you!

    References

    [Zwicker2002]. EWA Splatting. E., Zwicker, M., Pfister, H., Van Baar, J., Gross, M.H., Zwicker, M., Pfister, H., Van Baar, J., & Gross, M.H. (2002). IEEE Transactions on Visualization and Computer Graphics.

    [Enderton2010]. Stochastic transparency. Eric Enderton, Erik Sintorn, Peter Shirley, and David Luebke. In Proc. Symposium on Interactive 3D Graphics and Games (I3D), pages 157–164, 2010.

    [Kerbl2023] 3D Gaussian Splatting for Real-Time Radiance Field Rendering. Kerbl, B., Kopanas, G., Leimkuehler, T., & Drettakis, G. (2023). ACM Transactions on Graphics (TOG), 42, 1 - 14.

    [Yu2023] Mip-Splatting: Alias-Free 3D Gaussian Splatting.. Yu, Z., Chen, A., Huang, B., Sattler, T., & Geiger, A. (2023). 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 19447-19456.

    [Radl2024] StopThePop: Sorted Gaussian Splatting for View-Consistent Real-time Rendering. Radl, L., Steiner, M., Parger, M., Weinrauch, A., Kerbl, B., & Steinberger, M. (2024). ACM Trans. Graph., 43, 64:1-64:17.

    [Moënne-Loccoz2024] 3D Gaussian Ray Tracing: Fast Tracing of Particle Scenes. Moënne-Loccoz, N., Mirzaei, A., Perel, O., Lutio, R.D., Esturo, J.M., State, G., Fidler, S., Sharp, N., & Gojcic, Z. (2024). ACM Trans. Graph., 43, 232:1-232:19.

    [Hou2024] Sort-free Gaussian Splatting via Weighted Sum Rendering. Hou, Q., Rauwendaal, R., Li, Z., Le, H., Farhadzadeh, F., Porikli, F.M., Bourd, A., & Said, A. (2024). ArXiv, abs/2410.18931.

    [Morgenstern2024] Compact 3D Scene Representation via Self-Organizing Gaussian Grids. Wieland Morgenstern, Florian Barthel, Anna Hilsmann, Peter Eisert. ECCV 2024.

    [Wu2024] 3DGUT: Enabling Distorted Cameras and Secondary Rays in Gaussian Splatting. Wu, Q., Esturo, J.M., Mirzaei, A., Moënne-Loccoz, N., & Gojcic, Z. (2024). ArXiv, abs/2412.12507. CVPR 2025.

    [3DGRUT] This repository provides the official implementations of 3D Gaussian Ray Tracing (3DGRT)[Moënne-Loccoz2024] and 3D Gaussian Unscented Transform (3DGUT)[Wu2024].

    [Kheradmand2025] “StochasticSplats: Stochastic Rasterization for Sorting-Free 3D Gaussian Splatting.”. Kheradmand Shakiba, Delio Vicini, George Kopanas, Dmitry Lagun, Kwang Moo Yi, Mark J. Matthews and Andrea Tagliasacchi. ICCV 2025.

    3rd-Party Licenses

    LibraryURLLicense
    miniplyhttps://github.com/vilya/miniplyMIT
    vrdxhttps://github.com/jaesung-cs/vulkan_radix_sortMIT
    spzhttps://github.com/nianticlabs/spzMIT

    Some parts of the current implementation are strongly inspired by, and in some cases incorporate, source code and comments from the following third-party projects:

    ProjectURLLicense
    vkgshttps://github.com/jaesung-cs/vkgsMIT
    GaussianSplats3Dhttps://github.com/mkkellogg/GaussianSplats3DMIT

    Additional 3rd-Party software is listed in nvpro_core2/third_party.