Comments (5)
I might be misunderstanding but how would that work for "running inside Unity" use-cases?
I've generally found C dependencies a pain for anything cross-platform (x86 Windows, x86, Mac, ARM Mac, ARM Android, whatever Unity on Linux supports)
WASM is plausible but there's not a mature, free (beer or speech) WASM host for Unity that I'm aware of.
https://github.com/extism/extism looks pretty close but nobody has a non-trivial Unity demo working yet.
from unitygaussiansplatting.
Also - is WASM multithreaded? If you're giving up on multithreading, is there any guarantee it won't have a performance penalty on all other platforms compared to Burst/Jobs code? I might be misinformed here so please correct me if so.
from unitygaussiansplatting.
@andybak oh no, I'm definitely not thinking of using Wasm library in Unity itself, somehow. What I'm thinking is:
- Make a C/C++ library that does all the data processing. That is normally compiled into native code dynamic lib. Native code use cases use this one.
- It also happens to be compiled into WebAssembly, as just another "platform". Web use cases use that one.
Now, whether this would replace the data processing part that's currently in Unity C#/Burst, or be in addition to that, is still up in the air. A good thing is that said data processing is Editor-only code right now, which drastically cuts down on number of platforms the 1. above would need to be compiled four (just windows, mac, linux).
And if wasm can't be multithreaded (I think it can these days though?), then that's just wasm specific side; any other platforms can still be multithreaded.
from unitygaussiansplatting.
I guess my only other concern is that this means runtime conversion of splats is permanently off the table. I was a little dismayed to see functionality being moved to the editor namespace as I've always been interested in the full pipeline being possible at runtime.
However - I've got no concrete plans at the moment, no idea how feasible this is realistically and I guess I can always maintain my own fork!
from unitygaussiansplatting.
Nothing is permanently off the table, I just moved it to editor assembly since I did not have a clear idea for runtime use case. Everything can be moved anywhere, at any point.
That said, even before the editor namespace move, the code as-is would not have worked at runtime since it uses Editor-only API to compress the texture at low quality levels. So if runtime would be needed, code to do that would need to materialize at runtime too.
from unitygaussiansplatting.
Related Issues (20)
- Converting Shaders to Shader Graph HOT 4
- Platforms: iPhone XR (A12) is not working due to lack of wave ops HOT 9
- Model superposition problem HOT 1
- Has issue with rendering in uneven scale of the viewport HOT 4
- how can I browse for a different .ply? HOT 1
- LightGaussian is here!! HOT 2
- Even faster radix sort :) HOT 1
- Passing orientation HOT 1
- Re-Lightning GS HOT 1
- Any idea about how to adjust the resolution? HOT 1
- PLY vertex size mismatch, expected 248 but file had 15 HOT 1
- Encode splats in a compute shader
- Support Scaffold-GS rendering HOT 5
- IndexOutOfRangeException: Invalid kernelIndex (0) passed, must be non-negative less than 20. HOT 4
- How to export a compressed (smaller) splat? HOT 1
- Cant get the render to work. Need guidance. HOT 1
- Export ply compressed files HOT 1
- Use plugin in another project HOT 1
- [Bug] gaussianAsset throw Null Execption HOT 4
- Tools: Changing the pivot point of the splat for exports HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unitygaussiansplatting.