They've already deprecated OpenGL. Drivers on macOS are locked at OpenGL 4.1, which is missing a whole lot of nice features. Not because the hardware doesn't support them, but because Apple doesn't want to keep maintaining OpenGL.
And why would they? OpenGL is really unpleasant from a hardware manufacturer's / integrator's / OS author's perspective, it makes app ports for mobile that much harder unless you're using GL ES, and Metal works and many apps have a Metal renderer now. If you find the mere idea of Metal distasteful because it's an API that can't be used on other platforms, you can use Vulkan and MoltenVK to get there.
You're confusing not caring for the pro market with their approach to vertical integration. They care for the pro market, but they're not willing to compromise on ripping out what they consider to be dead weight.
>You're confusing not caring for the pro market with their approach to vertical integration.
Apple knows exactly what they need to do to keep the pro market on MacOSX, they are not interested in doing that at all. And that simple thing is standardization, not exclusive API. So they don't even have to support OpenGL... just not make it even harder for CAD/CAM makers to port their software/features back to MacOSX.
Lack of a good pro device for years already got a lot of pros off Macs, so companies like Autodesk have less and less value in supporting Mac. And the gap in functionality is already massive! Their vertical integration, aka platform lock-in, is impossible for companies that have majority of their customers on a different platform.(and again - Apple knows that)
You know, I'll just switch to Windows to have my designs automatically validated for code compliance... and I'll just stay with Windows for software development as well.
(I'm a software engineer studying structural engineering)
>> And why would they? OpenGL is really unpleasant from a hardware manufacturer's / integrator's / OS author's perspective
That's exactly why they should keep it. Now all those CAD programs that use older OpenGL features have to figure out how to do things that are not supported by Metal. Vulkan initially forgot about this market as well and had to add some things back in.
There is Zink to handle compatibility, but that should have come from the organizations and companied deprecating OpenGL. It should probably be standard on new platforms so they can keep OpenGL at the API level.
> And why would they? OpenGL is really unpleasant from a hardware manufacturer's / integrator's / OS author's perspective
That's why it must be deprecated. Why do we need to reinvent the wheel over and over again ? I get it, X sucks and the answer to this is .... wayland. OpenGL sucks and the answer to this is ? DirectX ? Vulkan ? SDL ? Libcaca ? ( sorry i forgot ncurses).
Just like an old builder: you have some bricks, use them.
I've only dabbled in GPU programming, but I think the issue is more serious than this. It's not really pointless churn.
OpenGL was released 29 years ago, and the way GPUs work now vs then is massive. Apparently developers want low level access, and that is what Vulkan/Metal give them.
As a user I wish Vulkan had a path without so much setup. I'm not sure if that's possible, or maybe it would defeat the purpose. It seems like it would be nice for hobbyists/beginners like me who just want to get a triangle on the screen and play with shaders though.
And OpenGL changed massively. Going from fixed function to programmable hardware.
I understand that a lot of developers want low level access to hardware - that's great for a lot of applications. But that low level access means that software is tied to hardware... and software is not forward/cross compatible. Which is a VERY big deal for pro market.
Remember when Apple just "forgot" to release a pro grade desktop for years? Do you think those pros just stayed with their outdated hardware?(they didn't, they moved to Windows)
Do you think that there's a good reason for many pro software vendors to jump to Metal, when the majority of their customers are on Windows with Vulkan support?
I mentioned this on another subthread - Apple just needs to offer a cross platform API, to prove that they want pro software to be developed on Macs.
> But that low level access means that software is tied to hardware... and software is not forward/cross compatible. Which is a VERY big deal for pro market.
As a game dev - hardware dependence has been a fact of life for a very long time. There are too many useful extensions not included in the base profiles, and enough video cards combinatorically combined with those - that the most tractable path is to actually care about the specific device's capabilities.
The best way forward is to be as detailed as possible than to come up with a new albatross to hang around one's neck for the next 30 years. A thin driver with a fatter app stack is probably more manageable going forward than a very fat driver with a continually aging app stack, so long as appropriate care is paid to forward compatibility.
> The actual innovation in graphics has definitely been driven by Microsoft in the last ten years or so,' explained AMD's GPU worldwide developer relations manager, Richard Huddy. 'OpenGL has largely been tracking that, rather than coming up with new methods. The geometry shader, for example, which came in with Vista and DirectX 10, is wholly Microsoft's invention in the first place.'
>
> 'It is really just inertia that keeps us on OpenGL at this point,' Carmack told us. He also explained that the developer has no plans to move over to Direct3D, despite its advantages.
ARB, Long Peaks failure, not defining SDKs and leaving to ecosystem to create tools on their own, making into a rite of passage that each graphics programming student needs to create their own SDK from scratch, is anything but appealing.
If ARB/Khronos would standardize networking protocols, we would have only IP, and then each developer would create their own networking stack on top of raw IP.
Apple could just use the vendor-provided OpenGL (AIUI most of the code is common between Windows and Linux for the major vendors), which e.g. for nvidia still happily supports everything from 1.0 to the present.
And why would they? OpenGL is really unpleasant from a hardware manufacturer's / integrator's / OS author's perspective, it makes app ports for mobile that much harder unless you're using GL ES, and Metal works and many apps have a Metal renderer now. If you find the mere idea of Metal distasteful because it's an API that can't be used on other platforms, you can use Vulkan and MoltenVK to get there.
You're confusing not caring for the pro market with their approach to vertical integration. They care for the pro market, but they're not willing to compromise on ripping out what they consider to be dead weight.