Still missing shader compilation on Mac?

I found a post from Mar '15 saying that shader compilation on Macs has not yet been implemented. Looks like this is still the case from the NotImplementedException errors I’m seeing when trying to compile with shaders. Is there any workaround for this? Not being able to use shaders when developing on OSX is going to be pretty crippling.

Thanks!

Yeah, it’s not that easy because the current shader pipeline takes hlsl and compiles it with proprietary tools that are only available on Windows. For DesktopGL the bytecode is translated to GLSL by MojoShader but that means it still needs to be compiled on a Windows machine first. To compile effects on Mac/Linux the idea is to have GLFX, a sort of GLSL/effect framework hybrid format, that can be processed for DesktopGL. After that tools to translate HLSL to GLFX should be incorporated to make things easier for developers. That way you can program shaders like you do right now but build them on Mac/Linux as well.

I’ve started on the GLFX stuff a couple months ago, but only worked on it for a small amount of time because uni got me really busy. For now you can use dellis’ server (that runs Windows) to compile effects. It’s really easy to use because of a Pipeline extension that comes with it. Details at: http://www.infinitespace-studios.co.uk/general/monogame-building-fx-shaders-on-a-mac-and-linux/
I think it runs the 3.5 2MGFX (MG’s shader building tool) and it won’t work with the develop branch.

Aah okay, good to know! Thanks for the excellent explanation.

1 Like