6 ms·
This is why unfortunately the Mac is dead to me. I would love to support it, but when OpenGL was deprecated it was just game over for me. A company that forces
by quelsolaar 7y ago
This is why unfortunately the Mac is dead to me. I would love to support it, but when OpenGL was deprecated it was just game over for me. A company that forces me to learn a completely different language to access their basic APIs and keeps changing them is just too mush of a hassle. Every hour spent on maintaining a mac port is an hour not serving the 90% of users who aren't on Mac.
You can complain about OpenGL all you want, and praise Metal, but it doesn't matter how much better it is. i cant rewrite all my shaders, and do the API integration. The fact that the richest company cant hire 10 engineers to maintain compatibility, and are pushing all this work on to thousands if small independent developers is just rude.
With apples history, why spend time embracing, their new tech if you cant count on it sticking around. For developers who write small one-off apps for iOS its fine, but for people who make larger long term applications Apple is very developer hostile.
- wffurr 7y agoUse ANGLE and keep writing OpenGL. It has Metal and Vulkan backends and papers over all the various GL driver bugs.
- quelsolaar 7y agoThere are workarounds for everything. The problem with the Mac is that I have to work around everything. No C API, XCode, lack of extension support, driver bugs, poor documentation, weird manifest files, the OS switching run directory randomly... You cant behave like that when you are a small platform.
- lonelappde 7y agoA trillion dollars says you absolutely can behave like that.
- dansman805 7y agoThe trillion dollars says you can behave like that on a large platform (iOS), but not much of that trillion dollars comes from the Mac, a comparatively small platform, does it?
- newnewpdro 7y agoAren't those destined to converge as one?
- pjmlp 7y agoThankfully there are vendors out there willing to move beyond C, unlike Khronos.
- jiofih 7y agoOn the other hand, as a user, this is one of the reasons I switched to Macs a decade ago. The apps available were of extremely high quality and actively supported. If something with a GUI hasn’t been updated in 20 years, chances are it’s not gonna be stellar software. Both technology and UI conventions have changed a lot.
- quelsolaar 7y agoNo you dont get it. It's not about maintaining or not, its about what a developer spends their time on. Do you want the developer to spend months moving the code from one legacy API to a new one, that will give the user no tangible benefit, or do you want the develop new features requested by the users?
- deleted 7y ago[deleted]
- yardie 7y ago> Do you want the developer to spend months moving the code from one legacy API to a new one If the situation demands it I would say yes. I treat it as one big refactoring job. There are lots of shims in old software libraries that may not need to be there anymore. There are also lots of vulnerabilities that a fresh set of eyes and a different perspective can illuminate. A product that began its life being developed by a lone developer may have an entire team now. The rewrite is a good opportunity to explore how it works and why certain decisions were made.
- pvorb 7y ago> The rewrite is a good opportunity to explore how it works and why certain decisions were made. ... and a good opportunity to break existing and working features along the way. If something works, why should you fix it?
- jiofih 7y ago“No tangible benefit” is a very weak assumption. Upgrading to new APIs means familiar UI controls, possibility of integration with system features - off the top of my head, iCloud copy & paste, versioning, handoff, low power/data mode, form inputs behave the same as everywhere else, font rendering, window controls - all very tangible for users.
- eecc 7y ago> Every hour spent on maintaining a mac port is an hour not serving the 90% of users who aren't on Mac Oh come on spare us the ethics lesson. You know perfectly well that OpenGL is an archaic stone around the neck for many developers. To the point that many (all) industry players are trying their hand at superseding it (of course also for lock-in, but that’s not the only reason.) During transitions things come and go, adoption sway and ideas change. Deal with it, it’s a fact of life
- rleigh 7y agoIt's also a fact of life that that economics dictates where effort is spent. If I port all my OpenGL code to Metal, that's a big undertaking in both time and money. And what do I gain? Nothing. The program will render the same views both before and after the change. It's not directly adding value. So why would I bother? Also bear in mind that I currently support the application on Windows, Linux, FreeBSD and MacOS. OpenGL rendering works the same on all four platforms, and I have a unified cross-platform codebase which compiles without any trouble on all of them. If I switch to Metal, that's going to mean dropping all the other platforms which use OpenGL. Or it's going to mean having a separate MacOS-specific implementation for Metal. Dropping the other platforms is unacceptable. MacOS is a niche. Windows is a bigger market. Depending on the application, Linux might be as well. Consider that Windows, Linux, and even FreeBSD can support beefy modern GPUs while MacOS is quite limited in the on-board GPUs on its laptops and other systems. When push comes to shove, MacOS is the platform which I will drop first. It's already got the oldest and most limited OpenGL implementation and the poorest hardware, and this makes it the worst choice for running my application in the first place. If Apple want to retain developers like me, then they can provide a first-class current OpenGL implementation based on top of Metal. And then they can also provide a high-quality Vulkan implementation also based on top of Metal (or the other way around). Because if I do upgrade, I'll be upgrading to Vulkan on all four platforms, not to Metal.
- pjmlp 7y agoUnity does it for me, no need for Apple to move a finger.
- DCKing 7y agoAlthough I'm not a fan of OpenGL's removal, I think it's somewhat misunderstood. OpenGL is an outdated design for modern GPUs. Its featureset and architecture is too high level, leading to more buggy drivers and complicated legacy support. There's two things you can do basically - keep OpenGL around in perpituity, or move the complexity and responsibility of it all to libraries. Apple has defined their single graphics API to be Metal, kind of but not quite like mainstream Linux where this has become Gallium3D (i.e. all open source drivers implement their OpenGL and Vulkan and sometimes even Direct3D support on top of Gallium3D). I fully expect OpenGL to be dropped from many future Linux drivers too. I'm actually looking forward to the day Linux drivers will go Vulkan only, as hopefully it allows things to get less buggy. Even when OpenGL gets fully removed from macOS, you can still use OpenGL. You can use Vulkan too. You just need a library for it, like ANGLE or MoltenVK. If that would have been Apple's communication, there'd be a lot less fuzz about this. By the way, OpenGL still works on macOS 10.15. Deprecated does not mean it's not working.
- badsectoracula 7y ago> OpenGL is an outdated design for modern GPUs. The thing is, in its entire lifetime OpenGL was never meant to be a GPU abstraction layer - that only happened during GeForce2's time (and only for Nvidia). Even SGI's implementation was doing a lot of stuff on the CPU (and SGI even had a pure CPU implementation). OpenGL was always meant to be a high lever immediate graphics API (immediate here meaning as opposed to retained/scene graph APIs like OpenInventor). > By the way, OpenGL still works on macOS 10.15. Deprecated does not mean it's not working. Yeah but as it can clearly be seen, you cannot rely on Apple when it comes to keeping things working.
- DCKing 7y agoIt seems to me then that OpenGL should have been a library instead of a driver all along. Its original intent unfortunately has no bearing on what it has become in the meantime. > Yeah but as it can clearly be seen, you cannot rely on Apple when it comes to keeping things working. Well yeah that's what deprecated means. At the moment, developers have a bit longer to get on with the times though, so that's nice I guess.
- TheKnack 7y agoThere are well supported ways to keep using OpenGL on MacOS and iOS. This company is offering a wrapper that makes OpenGL run faster on top of Metal than it did natively, and promises support for future OS versions indefinitely.. https://moltengl.com/ https://moltengl.com/
- mjw1007 7y agoSo I suppose if Apple cared about not being hostile to developers they'd have the option of buying that company and giving the product away for free.
- ben509 7y agoA company is selling a product that provides a clear value to a specific audience; they're likely to be far more responsive and effective than Apple could be.
- wjakob 7y agoNote that this is only for OpenGL ES!
- coldtea 7y ago>This is why unfortunately the Mac is dead to me. I would love to support it, but when OpenGL was deprecated it was just game over for me. A company that forces me to learn a completely different language to access their basic APIs and keeps changing them is just too mush of a hassle. Every hour spent on maintaining a mac port is an hour not serving the 90% of users who aren't on Mac. I think their idea is, if you're not going to make a full-on Mac app -- leveraging the extra capabilities, the native APIs, the native look, etc and updating with the platform --, don't bother. It's perhaps too much for its small market share (2-10% depending on region, though with much better share of the richer, actually-paying-for-software demographic), but if that wasn't the case, what would really differentiate macOS from Windows? Just the UI and under the hood stuff, when both are running the same identical apps and codebases?
- musicale 7y agoIt's an example where some effort on Apple's part would save a multiplicative factor of developer effort and user frustration. I expect the cost to users of a couple hundred megabytes of flash storage is a fair trade-off for not having your apps break with every yearly iOS update.