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

kons-9 is using opengl v4.6 on Linux and opengl v2.1 on macos which are fundamentally incompatible versions #93

Open
awolven opened this issue Sep 8, 2022 · 6 comments

Comments

@awolven
Copy link
Collaborator

awolven commented Sep 8, 2022

No description provided.

@kaveh808
Copy link
Owner

kaveh808 commented Sep 8, 2022

@JMC-design
Copy link
Contributor

well it shouldn't be hard to limit to 4.1 until something like this is drop in replacement. https://github.com/openglonmetal/MGL

@awolven
Copy link
Collaborator Author

awolven commented Sep 8, 2022 via email

@kaveh808
Copy link
Owner

kaveh808 commented Sep 8, 2022

Is there a way of getting our existing OpenGL code working with 4.1 on MacOS? If not, what changes are necessary?

I tried the above snippet and got:

An unhandled error condition has been signalled:
   OpenGL signalled (1282 . INVALID-OPERATION) from MATRIX-MODE.

Found this link: https://stackoverflow.com/questions/48249518/opengl-error-1282-invalid-operation-when-using-glut-3-2-core-profile

Tried some other flags, including :opengl-profile :opengl-compat-profile but got:

An unhandled error condition has been signalled:
   NSGL: The targeted version of macOS only supports forward-compatible core profile contexts for OpenGL 3.2 and above

@kaveh808
Copy link
Owner

kaveh808 commented Sep 8, 2022

Looks like Apple does not support deprecated OpenGL past 3.2:

https://www.khronos.org/opengl/wiki/Legacy_OpenGL

So we will have to rewrite all our graphics code (which we were planning to anyway) to move to 4.1.

The question now is what is the best platform to target -- OpenGL 4.1, Vulkan, etc.

In the meantime, we'll keep MacOS at 2.1 and use different versions of Andrew's text engine for MacOS and Linux.

@ghost
Copy link

ghost commented Sep 9, 2022

This might be an opportunity to abstract the rendering "backend". Should you spend your time chasing bugs in compatibility hacks or work up front on a flexible architecture that supports either OpenGL or Metal (etc.) directly? Remember you are interacting with a scene graph, which already is an important abstraction towards this approach. SGI's Open Inventor (while at times a little too "conjoined" with OpenGL and X windows) took such an approach.

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

3 participants