Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
139 stars 2 forks source link

Redesign & rework FrooxEngine integration with the Unity renderer (& renderers in general) #2429

Open Frooxius opened 4 months ago

Frooxius commented 4 months ago

Is your feature request related to a problem? Please describe.

Currently the way FrooxEngine integrates with the Unity renderer has a number of issues:

Describe the solution you'd like

Redesign & rework the integration in a way, that allows it to "consume" a small set of memory blocks describing the state of the objects needed for rendering. This will allow FrooxEngine to compute a "render batch" of data and then send it off to the renderer, either internally or over IPC (when the switch to multi-process architecture happens: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/706).

Describe alternatives you've considered

N/A

Additional Context

This is a necessary step for implementing the multi-process architecture: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/706

There might be some small performance gains from this alone as well, as it'll remove some of the complexity & overhead.

It will also help simplify switch to another renderer, such as Sauce: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/1401

Additionally this will pave work for some other work, such as the concept of continuous updates with this: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/705

This will allow reduce some more overhead for anything that is known to be updating continuously, instead of dynamic change tracking.

Requesters

No response

charlie-sans commented 2 months ago

would using cuda for nvidia and or OpenCI for amd be a feature we could get during this? mostly for being able to use them for more high render tasks like particle effects, trying to render the game with 25 lights in the world, baking lights and or reflection probes? this is just an idea at the moment so i'm not too sure what i'm missing.

ProbablePrime commented 2 months ago

would using cuda for nvidia and or OpenCI for amd be a feature we could get during this?

This should be a separate request, that outlines why.

charlie-sans commented 2 months ago

oh yeah right, ill go make an feature request later.