Add readme and license
This commit is contained in:
+21
@@ -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.
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user