Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undeprecate it by using MGL for opengl on macos? #73

Open
alesya-h opened this issue Feb 5, 2024 · 1 comment
Open

Undeprecate it by using MGL for opengl on macos? #73

alesya-h opened this issue Feb 5, 2024 · 1 comment

Comments

@alesya-h
Copy link

alesya-h commented Feb 5, 2024

Hi. How feasible would it be to switch the project to https://github.com/openglonmetal/MGL ? I'm a Linux user, but it's a shame this was deprecated simply because apple decided it doesn't like opengl anymore. MGL seems maintained enough

@rumblesan
Copy link
Owner

Hey! Thanks for the heads up on the OpenGL on Metal project, I wasn't aware of it. The question of how feasible it might be to port to it is maybe a bit difficult to cleanly answer though.
I think the main thing would be changing the haskell OpenGL and OpenGLRaw libraries to use MGL. If that was done (and MGL supported the features that improviz uses) then it could maybe just be a question of bumping the library and things would work. My suspicion is that updating those libraries would be non-trivial unfortunately and that's kind of the rub with this project as a whole.

Most of the work to fix it on MacOs now would be non-trivial. Either updating those libraries, switching to using a different graphics layer library (there are haskell bindings for vulkan https://hackage.haskell.org/package/vulkan) rewriting a graphics layer in a language better suited to it and then binding to that (OpenGL in haskell is kind of miserable to be honest) or even just rewriting the whole thing. And unfortunately I don't really have the energy, inclination, or in some ways the ability to do that kind of deep software engineering work any more (burnout is rough).

TLDR; It's almost certainly possible, but probably not by me in the foreseeable future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants