Gargaj / Bonzomatic

Live shader coding tool and Shader Showdown workhorse
http://www.pouet.net/topic.php?which=9881
Other
1.36k stars 114 forks source link

Metal #74

Open sacredbanana opened 6 years ago

sacredbanana commented 6 years ago

With macOS officially deprecating OpenGL with macOS Mojave because they only want to support Metal, it made me think perhaps I could create a Metal version of Bonzomatic. Do you think Metal shader live coding could be popular enough to warrant developing this version? The only experience I have so far with Metal is porting the Bonzomatic default shader to a Metal fragment shader. It's almost the same as GLSL so the transition is quite smooth.

Gargaj commented 6 years ago

¯\_(ツ)_/¯

Doesn't seem like Apple is leaving us much of a choice here.

psonice commented 5 years ago

I wasted ~30 seconds in a shader showdown last year adding shit like "#define float4 vec4" because after writing metal for a few years, going back to GLSL results in constant bugs due to wrong types :D So put me down as yes, would use Metal if it was available in the compo.

There's a bigger issue here tho. The competition machines usually aren't macs. And the chances of their being a mac at the party with an equivalent GPU are low. So, in practice, I can't see it being useful outside of home use.

For home use we're going to need it (or lose mac support) at some point but while GL is depreciated, it still exists in 10.15. So we're OK for another year.

Gargaj commented 5 years ago

I believe @alkama has been working on a Metal backend for a while now.

psonice commented 5 years ago

Oh, excellent! If any info / advice is needed let me know. Don't mind helping with code too, but the build system and tools here are not anything I'm familiar with.

catilac commented 4 years ago

I made a live shader editor for metal, it's really early, but it works. https://github.com/catilac/psychout

sacredbanana commented 3 years ago

I'm happy to create a metal version if @alkama isnt already in the middle of making one