{"id":29423751,"url":"https://github.com/lambdalemon/vrcsplat","last_synced_at":"2025-07-13T12:02:12.631Z","repository":{"id":303563677,"uuid":"1015287870","full_name":"lambdalemon/vrcsplat","owner":"lambdalemon","description":"Gaussian splatting in VRChat","archived":false,"fork":false,"pushed_at":"2025-07-08T08:22:37.000Z","size":10468,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-08T09:33:32.939Z","etag":null,"topics":["vrchat"],"latest_commit_sha":null,"homepage":"","language":"HLSL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambdalemon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-07-07T09:26:39.000Z","updated_at":"2025-07-08T08:20:30.000Z","dependencies_parsed_at":"2025-07-08T09:37:22.038Z","dependency_job_id":"b4a068de-b792-4ca9-ac9c-32f451dd685d","html_url":"https://github.com/lambdalemon/vrcsplat","commit_stats":null,"previous_names":["lambdalemon/vrcsplat"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/lambdalemon/vrcsplat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdalemon%2Fvrcsplat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdalemon%2Fvrcsplat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdalemon%2Fvrcsplat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdalemon%2Fvrcsplat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambdalemon","download_url":"https://codeload.github.com/lambdalemon/vrcsplat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdalemon%2Fvrcsplat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264958572,"owners_count":23689030,"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":["vrchat"],"created_at":"2025-07-12T08:00:41.762Z","updated_at":"2025-07-12T08:02:10.512Z","avatar_url":"https://github.com/lambdalemon.png","language":"HLSL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VRCSplat\nGaussian splatting in VRChat\n\nUSE https://github.com/MichaelMoroz/VRChatGaussianSplatting INSTEAD! MUCH FASTER AND IMPORTS PLY DIRECTLY!\n## Usage\n0. (Optional, only for Example Scene with Mirror) Import [Lura's Switch ver3.00](https://booth.pm/en/items/1969082)\n1. Install and run https://github.com/lambdalemon/sogs on your ply file.\n2. Import the unitypackage from [releases](https://github.com/lambdalemon/vrcsplat/releases) \n3. Import the entire output directory to unity. A gaussian splat material will be generated for you inside the directory.\n4. Replace the material of the mesh renderer in the example scene and enter play mode to see.\n5. You will likely notice that your splats are not rotated correctly. Switching the shader to vrcsplat/GaussianSplattingOpaque makes the splats visible in scene view, which is useful for adjusting the rotation and placing other objects.\n6. You might notice that some of the splats are missing. Make sure the render textures on the Sort Splats script are at least as large as your means.exr texture. If not increase their sizes. All render textures must be square, power of 2 and must have the same width and height. Tex Order should be a Texture2DArray with 2 slices, or 3 slices if your scene contains a mirror (see Example Scene with Mirror)\n## Credits\nMany thanks to [Michael](https://github.com/MichaelMoroz) who helped me a lot on discord, and especially for discovering how to implement radix sort in VRChat using https://github.com/d4rkc0d3r/CompactSparseTextureDemo\n\nBased on aras-p's https://github.com/aras-p/UnityGaussianSplatting\n\nPerspective-correct splatting from https://github.com/fhahlbohm/depthtested-gaussian-raytracing-webgl\n\nGaussian splat compression forked from gsplat's [png_compression](https://github.com/nerfstudio-project/gsplat/blob/main/gsplat/compression/png_compression.py) module, using [Self-Organizing Gaussians](https://github.com/fraunhoferhhi/Self-Organizing-Gaussians)\n\nExample trained using https://github.com/fatPeter/mini-splatting2 \n\nand the garden scene from MipNerf360 dataset https://krishnakanthnakka.github.io/mipnerf360/\n\nMirror Switch from [Lura's Switch ver3.00](https://booth.pm/en/items/1969082)\n\n## Shader Variants\nTwo gaussian splatting shaders are included\n- vrcsplat/GaussianSplattingAB: regular gaussian splatting\n- vrcsplat/GaussianSplattingOpaque: opaque splats similar to https://github.com/cnlohr/slapsplat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdalemon%2Fvrcsplat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdalemon%2Fvrcsplat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdalemon%2Fvrcsplat/lists"}