{"id":13816179,"url":"https://github.com/KeKsBoTer/web-splat","last_synced_at":"2025-05-15T15:32:16.879Z","repository":{"id":202610681,"uuid":"694863685","full_name":"KeKsBoTer/web-splat","owner":"KeKsBoTer","description":"3D Gaussian Splatting Renderer implemented in WebGPU (WGPU) and Rust","archived":false,"fork":false,"pushed_at":"2025-03-20T20:03:54.000Z","size":22793,"stargazers_count":151,"open_issues_count":14,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-20T21:41:10.869Z","etag":null,"topics":["gaussian","graphics","nerf","rust","web","webgpu","wgpu"],"latest_commit_sha":null,"homepage":"https://web-splat.niedermayr.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KeKsBoTer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-21T21:17:26.000Z","updated_at":"2025-03-20T08:06:00.000Z","dependencies_parsed_at":"2023-11-17T20:11:06.389Z","dependency_job_id":"cdb1381e-2dad-42e8-a4d1-7acfd826eeb8","html_url":"https://github.com/KeKsBoTer/web-splat","commit_stats":null,"previous_names":["keksboter/web-splat"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeKsBoTer%2Fweb-splat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeKsBoTer%2Fweb-splat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeKsBoTer%2Fweb-splat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeKsBoTer%2Fweb-splat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KeKsBoTer","download_url":"https://codeload.github.com/KeKsBoTer/web-splat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254367619,"owners_count":22059542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gaussian","graphics","nerf","rust","web","webgpu","wgpu"],"created_at":"2024-08-04T05:00:36.737Z","updated_at":"2025-05-15T15:32:14.692Z","avatar_url":"https://github.com/KeKsBoTer.png","language":"Rust","readme":"![Example Render generated by the renderer](img/example.png)\n\n# 3D Gaussian Splatting Renderer implemented in WebGPU (WGPU) and Rust\n\nThis code implements a renderer for the reconstructions obtained with [3D Gaussian Splatting](https://github.com/graphdeco-inria/gaussian-splatting)\n\n[👉 Click to run the web demo 👈](https://keksboter.github.io/web-splat/demo.html)\n\n\n## Build\n\nFirst, install the Rust compiler (e.g. with [rustup](https://rustup.rs/)) \n\nClone the repository and run\n\n```bash\ncargo build --release --bin viewer \n```\n\n## Run\n\nUse the `point_cloud.ply` and `cameras.json` files generated by [3D Gaussian Splatting](https://github.com/graphdeco-inria/gaussian-splatting):\n\n```\ncargo run --release --bin viewer point_cloud.ply cameras.json\n```\n\nTo load [compressed npz files](https://github.com/KeKsBoTer/c3dgs) the `npz` feature must be enabled:\n\n```\ncargo run --release --features npz --bin viewer point_cloud.npz cameras.json\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eUsage\u003c/summary\u003e \n    3D Gaussian Splatting Viewer\n\n    Usage: viewer [OPTIONS] \u003cINPUT\u003e [SCENE]\n\n    Arguments:\n      \u003cINPUT\u003e  Input file\n      [SCENE]  Scene json file\n\n    Options:\n          --no-vsync  \n      -h, --help      Print help\n      -V, --version   Print version\n\u003c/details\u003e\n\n## About\n\n**Splat Sorting**\n: We ported the [Fuchsia RadixSort](https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/graphics/lib/compute/radix_sort/) to WGPU for sorting the splats on the GPU.\n\n**Performance**: The renderer reaches \u003e200 FPS on a `NVIDIA 3090 RTX` and ~130 FPS on a `AMD Radeon R9 380 Series` (8 years old). Measurements where taken for the bonsai scene at 1200x799 resolution.\n\n\n## Citation\nIf you find our work useful, please cite:\n```\n@misc{niedermayr2023compressed,\n    title={Compressed 3D Gaussian Splatting for Accelerated Novel View Synthesis}, \n    author={Simon Niedermayr and Josef Stumpfegger and Rüdiger Westermann},\n    year={2023},\n    eprint={2401.02436},\n    archivePrefix={arXiv},\n    primaryClass={cs.CV}\n}\n```\n","funding_links":[],"categories":["Open Source Implementations"],"sub_categories":["Viewers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKeKsBoTer%2Fweb-splat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKeKsBoTer%2Fweb-splat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKeKsBoTer%2Fweb-splat/lists"}