From f90347de3ee14cb973eb9a60d9ca09594986b78a Mon Sep 17 00:00:00 2001 From: rsformoso Date: Thu, 19 Mar 2026 11:57:12 +0800 Subject: [PATCH] Add readme and license --- LICENSE.md | 21 +++++++++++++++++++++ README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 LICENSE.md create mode 100644 README.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..2be55de --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Rafael Formoso + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f3c85d8 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# Unity VFX Graph Gaussian Splatting Renderer + +A Unity implementation of Gaussian splatting using VFX Graph for real-time rendering. This project uses Unity's VFX Graph system as an alternative to the EWA algorithm to provide more flexibility in accessing the splat's data structures. + +## Installation + +Import this project into Unity or copy the `Assets/vfx-graph-gs/` folder to your project + +## Usage + +### Importing PLY Files + +1. Place your PLY file containing Gaussian splat data in your project +2. The custom `SplatImporter` will automatically process the file +3. A VFX prefab will be generated that you can drag on to a scene + +## File Structure + +``` +Assets/vfx-graph-gs/ +├── Scripts/ # Core C# implementation +│ ├── SplatData.cs # Data container and GPU buffer management +│ ├── SplatDataBinder.cs # VFX Graph integration +│ ├── SplatDataInspector.cs # Custom inspector for SplatData +│ └── SplatImporter.cs # PLY file importer with burst compilation +├── VFXGraphHLSL/ # GPU shader functions +│ ├── CalculateAxes.hlsl # Quaternion to matrix conversion +│ ├── CalculateSH.hlsl # Spherical harmonics calculations +│ └── GetMajorAxes.hlsl # Projection axis selection +├── SplatVFX.vfx # Main VFX Graph asset +└── [PLY files] # Gaussian splat data files +``` + +## License + +This project is licensed under the MIT License. See the LICENSE file for details. + +## References + +- [Original Gaussian Splatting Code](https://github.com/graphdeco-inria/gaussian-splatting) +- [SplatVFX](https://github.com/keijiro/SplatVFX) + + +> ## Additional Notes +> - The importer processes files in 256MB chunks to handle large files +> - Presently, the splat file *must* have all splat data present, including spherical harmonics. It currently only supports `float` type variables and binary-encoded files.