{"id":13601763,"url":"https://github.com/quadjr/aframe-gaussian-splatting","last_synced_at":"2025-04-11T04:31:29.350Z","repository":{"id":197013155,"uuid":"697798305","full_name":"quadjr/aframe-gaussian-splatting","owner":"quadjr","description":"A-Frame component implementation of the 3D Gaussian splat viewer","archived":false,"fork":false,"pushed_at":"2023-12-20T20:24:48.000Z","size":31039,"stargazers_count":135,"open_issues_count":3,"forks_count":24,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-03-15T09:22:23.504Z","etag":null,"topics":["aframe","aframe-component","gaussian-splatting","vr","webgl","webvr"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/quadjr.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}},"created_at":"2023-09-28T13:53:14.000Z","updated_at":"2024-03-14T13:46:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a0a7a3b-371d-4388-a9fc-950c81355ca2","html_url":"https://github.com/quadjr/aframe-gaussian-splatting","commit_stats":null,"previous_names":["quadjr/aframe-gaussian-splatting"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quadjr%2Faframe-gaussian-splatting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quadjr%2Faframe-gaussian-splatting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quadjr%2Faframe-gaussian-splatting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quadjr%2Faframe-gaussian-splatting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quadjr","download_url":"https://codeload.github.com/quadjr/aframe-gaussian-splatting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223458599,"owners_count":17148487,"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":["aframe","aframe-component","gaussian-splatting","vr","webgl","webvr"],"created_at":"2024-08-01T18:01:07.677Z","updated_at":"2024-11-07T04:31:40.188Z","avatar_url":"https://github.com/quadjr.png","language":"JavaScript","funding_links":[],"categories":["6. 3D Gaussian Viewers","Open Source Implementations","Viewers \u0026 Game Engine Support"],"sub_categories":["Viewers","Web Viewers"],"readme":"## aframe-gaussian-splatting-component\n\nThis component is an A-Frame implementation of real-time rendering for [3D Gaussian Splatting for Real-Time Radiance Field Rendering](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/).  \nThis code is derived from the WebGL implementation developed by [antimatter15](https://github.com/antimatter15/splat).\n\n### Demo pages\n\nNeeds few seconds to load splats.  \n* Demo: https://quadjr.github.io/aframe-gaussian-splatting/\n* Cutout demo: https://quadjr.github.io/aframe-gaussian-splatting/cutout-demo.html\n\n### Properties\n\n| Property  | Description                 | Default Value |\n| --------  | -----------                 | ------------- |\n| src       | url of splat or ply file    | train.splat   |\n| cutoutEntity | selector to a box primitive that uses scale and position to define the bounds of splat points to render    |     |\n| pixelRatio | Pixel ratio for rendering. Reducing the value decreases the resolution and improves performance. If a negative value is set, the device's native value will be applied. |  1.0  |\n| xrPixelRatio | Same as pixelRatio. Applied to XR devices.  |  0.5   |\n\n### Example custom scan to gaussian splat workflow\n* Use a service such as https://lumalabs.ai/ to process a scan into splat (an alternative is https://poly.cam/)\n* Go to download dialog and choose Gaussian \u003e Splat (which will download a .zip file with .ply file inside)\n* Convert the .ply to .splat in the browser using this site: https://splat-converter.glitch.me/ by @akbartus (repo https://github.com/akbartus/Gaussian-Splatting-WebViewers/tree/main/splat_converter)\n* Use resultant .splat in the A-Frame scene with this component\n\n### Usage\n\n#### Browser Installation\n\nInstall and use by directly including the file.\nAbout the splat file, please refer [antimatter15](https://github.com/antimatter15/splat).\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n  \u003chead\u003e\n    \u003cscript src=\"https://aframe.io/releases/1.4.2/aframe.min.js\"\u003e\u003c/script\u003e\n    \u003cscript src=\"https://quadjr.github.io/aframe-gaussian-splatting/index.js\"\u003e\u003c/script\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    \u003ca-scene renderer=\"antialias: false\" stats\u003e\n      \u003ca-entity position=\"0 1.6 -2.0\" animation=\"property: rotation; to: 0 360 0; dur: 10000; easing: linear; loop: true\"\u003e\n        \u003ca-sphere position=\"0 0 0.5\" radius=\"0.5\" color=\"#EF2D5E\"\u003e\u003c/a-sphere\u003e\n        \u003ca-sphere position=\"0 0 -0.5\" radius=\"0.5\" color=\"#EF2D5E\"\u003e\u003c/a-sphere\u003e\n      \u003c/a-entity\u003e\n      \u003ca-entity gaussian_splatting=\"src: https://huggingface.co/cakewalk/splat-data/resolve/main/train.splat;\" rotation=\"0 0 0\" position=\"0 1.5 -2\"\u003e\u003c/a-entity\u003e\n    \u003c/a-scene\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n\n#### NPM Installation\n\nInstall via NPM:\n\n```bash\nnpm install aframe-gaussian-splatting-component\n```\n\nThen register and use.\n\n```js\nrequire('aframe');\nrequire('aframe-gaussian-splatting-component');\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquadjr%2Faframe-gaussian-splatting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquadjr%2Faframe-gaussian-splatting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquadjr%2Faframe-gaussian-splatting/lists"}