Not much development here lately, so the steps you need to take are still the same as explained in this thread. Recommended steps:
- Fork MonoGame and clone your fork in case you haven't yet.
- Add my fork as a remote:
git remote add jjagg https://github.com/Jjagg/MonoGame.git
- Fetch the GLFX branch.
git fetch jjagg glfx
- Check it out
git checkout glfx
- Run Protobuild and enable the GLFX service:
[mono] Protobuild.exe -enable GLFX.
- Build your shaders with the GLFX target. Check out the SpriteEffect shader in my PR for the syntax (PR. Only old GLSL syntax works for now due to parsing difficulties.
- Run your game as usual. There are some errors in my branch, check out comments in the PR for some fixes.
You're welcome to open PR's on my branch if you want to contribute. It might get merged soon so you can send PRs to the MG repo directly. Feel free to ask me anything if you run into issues or want to help out.
It generally works pretty well. So if you're just doing this for portability, I don't recommend digging into the direct GLSL stuff The GLFX branch was pretty quickly implemented and there are probably more issues with it than the automatic translation.
While it would be nice to support GLSL directly (or some dialect to make it fit better into MonoGame), this is a pretty low priority issue. Some better tooling might help speed up the process of supporting GLSL (like the vulkan stuff) because optimization is currently the most difficult thing in supporting GLSL shaders.