{"id":13816194,"url":"https://github.com/hyperlogic/splatapult","last_synced_at":"2025-05-15T15:32:18.468Z","repository":{"id":218774326,"uuid":"696524673","full_name":"hyperlogic/splatapult","owner":"hyperlogic","description":"A 3d gaussian splatting renderer in C++ and OpenGL","archived":false,"fork":false,"pushed_at":"2024-04-12T17:52:39.000Z","size":4990,"stargazers_count":52,"open_issues_count":2,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-22T11:25:02.526Z","etag":null,"topics":["3d-gaussian-splat","3d-gaussian-splatting","3d-graphics","3d-reconstuction","gaussian-splatting","opengl","opengl-es","openxr","photogrammetry","rendering","virtual-reality","vr"],"latest_commit_sha":null,"homepage":"","language":"C++","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/hyperlogic.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}},"created_at":"2023-09-25T23:25:34.000Z","updated_at":"2024-04-23T13:00:39.413Z","dependencies_parsed_at":"2024-03-13T01:46:03.669Z","dependency_job_id":"46515d87-eb68-41af-8b1c-3d73173f10c6","html_url":"https://github.com/hyperlogic/splatapult","commit_stats":null,"previous_names":["hyperlogic/splatapult"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlogic%2Fsplatapult","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlogic%2Fsplatapult/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlogic%2Fsplatapult/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperlogic%2Fsplatapult/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperlogic","download_url":"https://codeload.github.com/hyperlogic/splatapult/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254367629,"owners_count":22059544,"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":["3d-gaussian-splat","3d-gaussian-splatting","3d-graphics","3d-reconstuction","gaussian-splatting","opengl","opengl-es","openxr","photogrammetry","rendering","virtual-reality","vr"],"created_at":"2024-08-04T05:00:37.043Z","updated_at":"2025-05-15T15:32:17.343Z","avatar_url":"https://github.com/hyperlogic.png","language":"C++","readme":"\nSplatapult\n----------------------------------------------\n![Splatapult logo](/splatapult.png)\n\n[\u003cimg src=\"https://i.ytimg.com/vi/18DuNJRZbzQ/maxresdefault.jpg\" width=\"50%\"\u003e](https://www.youtube.com/watch?v=18DuNJRZbzQ \"Splatapult Demo\")\n\n![Splatapult Build](https://github.com/hyperlogic/splatapult/actions/workflows/build.yaml/badge.svg)\n\nA program to display 3d gaussian splats files\n\nsplatapult [OPTIONS] ply_filename\n\nOptions\n-------------\n-v, --openxr\n    launch app in vr mode, using openxr runtime\n\n-f, --fullscreen\n    launch window in fullscreen\n\n-d, --debug\n    enable debug logging\n\n--fp16\n    Use 16-bit half-precision floating frame buffer, to reduce color banding artifacts\n\n--fp32\n    Use 32-bit floating point frame buffer, to reduce color banding even more\n\n--nosh\n    Don't load/render full sh, this will reduce memory usage and higher performance\n\n-h, --help\n    show help\n\nDesktop Controls\n--------------------\n* wasd - move\n* q, e - roll\n* t, g - up, down\n* arrow keys - look\n* right mouse button - hold down for mouse look.\n* gamepad - if present, right stick to rotate, left stick to move, bumpers to roll\n* c - toggle between initial SfM point cloud (if present) and gaussian splats.\n* n - jump to next camera\n* p - jump to previous camera\n* y - toggle rendering of camera frustums\n* h - toggle rendering of camera path\n* return - save the current position and orientation of the world into a vr.json file.\n\nVR Controls\n---------------\n* left stick - move\n* right stick - snap turn\n* f - show hide floor carpet.\n* single grab - translate the world.\n* double grab - rotate and translate the world.\n* triple grab - (double grab while trigger is depressed) scale, rotate and translate the world.\n* c - toggle between initial SfM point cloud (if present) and gaussian splats.\n* y - toggle rendering of camera frustums\n* h - toggle rendering of camera path\n* return - save the current position and orientation/scale of the world into a vr.json file.\n\nConfig Files\n----------------------\nIf a \"_vr.json\" file is found, it will be used to determine the proper starting position, scale and orienation for vr mode.\nYou can create your own _vr.json file by manipulating the scene via grab in vr mode, then press return to save.\n\nSplatapult supports the same dir structure that [Gaussian Splatting](https://github.com/graphdeco-inria/gaussian-splatting) code will output.\nWhich is as follows:\n\n```\ndir/\n    point_cloud/\n        iteration_30000/\n            point_cloud.ply\n            point_cloud_vr.json\n    input.ply\n    cameras.json\n```\n\ninput.ply contains the point cloud and cameras.json will contain the camera orientations from the SfM stage.\n\nIf the \"cameras.json\" file is found in the same dir as the ply_filename or it's parent dirs, it will be loaded.\nThe 'n' and 'p' keys can then be used to cycle thru the camera viewpoints.\n\nIt will also support files downloaded from lumalabs.ai, but in this case there will be no point clouds or cameras.\n\n```\ndir/\n    mycapture.ply\n    mycapture_vr.json\n```\nBuild Info\n--------------------\nSee [BUILD.md](BUILD.md) for information on building Splatapult from source.\n\n","funding_links":[],"categories":["Open Source Implementations"],"sub_categories":["Viewers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperlogic%2Fsplatapult","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperlogic%2Fsplatapult","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperlogic%2Fsplatapult/lists"}