Giter Club home page Giter Club logo

Comments (5)

andybak avatar andybak commented on June 8, 2024

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.

andybak avatar andybak commented on June 8, 2024

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.

aras-p avatar aras-p commented on June 8, 2024

@andybak oh no, I'm definitely not thinking of using Wasm library in Unity itself, somehow. What I'm thinking is:

  1. 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.
  2. 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.

andybak avatar andybak commented on June 8, 2024

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.

aras-p avatar aras-p commented on June 8, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.