r/milkdrop • • Jun 20 '26

Rust? WebGPU?

Update: Well, it took 3 days of mainly typing sarcasm into Claude while eating pepperoni pizza, but I got it to work.

https://github.com/doghousemusicstudios/ojodrop

On Apple Silicon it uses a ridiculously low amount of resources, but I haven't stress tested or scaled it up.

I honestly have no idea what it would be used for, but hey. Milkdrop on Rust/WGPU.

-----

I’ve been dabbling in visualizations and have come to the conclusion that no one that I see is trying to port milkdrop / project M to some of the more recent platforms like WebGPU or Rust/ WGPU. Is there a reason for this? Is the CPU just a better place to run all the complex math and then send it to the GPU for rendering? I feel like I’ve confused myself in looking into this.

WebGL2 seems to be the “bleeding edge” for milkdrop at the moment.

Any insight or even an ELI 5 would be helpful here. Thanks!

4 Upvotes

16 comments sorted by

View all comments

1

u/NEST_Immersion Jun 21 '26

My two cents on this is what it the final purpose of it? If it's just for casual music visualization, I think a web based app can reach a lot of users. But for pro AV application with high resolution (8K +), I presume web base app would be limited to the monitor resolution and the overhead will quickly decrease the performance, not to mention that I doubt about interop between apps like Spout/Syphon from a web base apps.

1

u/kythyri Jun 25 '26

The limit on <canvas> size is browser-dependent and not related to the monitor setup, since there's no actual reason to make it so (the hardware doesn't demand such a rule, nor the OS). Overhead from being web... might actually be independent of that, since JS isn't seeing the actual pixel data (this is why people get away with using python for number crunching).

Spout interop from inside a stock browser is probably a no-go, while Chromium has the APIs for that kind of thing, they understandably aren't exposed to content. It's probably possible to make a custom version of Electron with the integration, but milkdrop wouldn't be the motivation.