I wouldn’t recommend it on macOS. There are just so many bugs that it’s barely even usable at this point. Even if you don’t use the editor functionality, it permanently burns the first shader output into your Rhino scene, and you can’t update or get rid of it, until you restart Rhino. This is super annoying to say the least.
I just realized why this isn’t working on Mac. Mac OpenGL is running under what is called Core Profile which is the only way to get to the modern OpenGL feature set. Under core profile glLineWidth
is deprecated and unused which is why you don’t see different widths on Mac.
Probably the best thing I can do for this would be to remove the option to set line width on Mac.
I’m not doubting anything you write about here, but I frequently use openFrameworks - a C++ creative coding environment - and it uses OpenGL too. Now, I haven’t really looked at how they do the line width rendering (cf. ofSetLineWidth()
), but it sure works.
Given all the other bugs on macOS, I’d probably say simply make ghgl Windows-only for the time being. I appreciate you trying to support macOS, but unfortunately it currently isn’t really useable.
You can initialize OpenGL on Mac either in a legacy mode which only goes up to around OpenGL 2.1 or in core profile which allows for OpenGL 4.1, but removes some deprecated features. The other frameworks you are using probably initialize legacy OpenGL.
The line width issue is the only issue I know of on Mac. I personally use the tool to track down display issues on Mac and prototype new features.
Well, I’ve documented all the issues I had above.
The bizarre editor behavior should be fixed with the latest 7.6 Rhino. If that is not the case, I need to get Alain to take a look again
The most annoying thing for me is that it burns the first image into Rhino, after that it doesn’t update/recompute anymore, and you can’t get rid of the burned-in image, unless you restart Rhino.
Also _time
doesn’t work, which might be linked to the previously mentioned problem.
Look at these videos, where I’ve documented the behaviour: