4 ms·
While this is startling, it seems pretty consistent with Apple's modus operandi in a lot of areas -- leap forward to where they think the industry is going and
by chipotle_coyote 8y ago
While this is startling, it seems pretty consistent with Apple's modus operandi in a lot of areas -- leap forward to where they think the industry is going and hope they're right. OpenGL is effectively being deprecated by its own developers in favor of Vulkan, which has an open source implementation for macOS and iOS, developed in part by Valve, built on top of Metal:
https://store.steampowered.com/news/37575/ https://store.steampowered.com/news/37575/
If game developers -- and game engine developers -- targeting OpenGL now are in the process of moving to target Vulkan, and if MoltenVK ends up offering better performance on macOS than Apple's legendarily anemic OpenGL stack, isn't this likely to be better in the long run despite the short-term pain?
- chabsf 8y agoOpenGL is "learnable" by someone in the process of learning. Vulkan and Metal are much less approachable. This will put a huge damper on low-level graphics programming as a hobby.
- Brakenshire 8y agoThey need a new more developer-friendly API built on top of Vulkan as a replacement for OpenGL.
- tzahola 8y agoThen you could just use one of the existing engines like Unity.
- drb91 8y agoPretty sure Unity is more heavyweight than a few hundred kilobytes of a library. It also doesn't come installed on my machine.
- pjmlp 8y agoDepending on the project type, the final release package can be just a few hundred KB, like they do when targeting WebAssembly. OpenGL also does not come installed on my machine.
- drb91 8y agoRight, but it still involves several gigabytes of largely unused functionality to get a “hello world” and it pigeonholes you into a specific ecosystem. Unity is an entirely different offering from a graphics api.
- anaphylactic 8y agoI believe (hope) that OpenGL continues to be that developer-friendly API. Building OpenGL on top of Vulkan shouldn't be too hard, and it means we don't have to pointlessly deprecate and recreate the huge number of OpenGL resources out there.
- astrange 8y agoOpenGL isn't friendly to developers on either side. Tutorials are generally not trustworthy, there's no cross platform debugging tools, and errors just get you a "something happened vOv" code. If you care about performance it will just do something slow at uncontrollable points in the background, like copy CPU-GPU-CPU memory, synchronize against the GPU, do format conversions, etc. If you're the one implementing GL, it's gotten gigantic again since they simplified it. GL 4.3/4.6 core has compute shaders, which means you have to implement OpenCL twice but different this time.
- sparky_ 8y agoThere is already OpenGL-on-Metal and OpenGL-on-DirectX middleware, so this may not actually be an issue.
- mellinoe 8y agoI would disagree with that, especially with regards to Metal. It's a very approachable and well-designed API. It might not have the volume of resources that OpenGL does, but the docs themselves are good, and I have seen plenty of intro-level tutorials that are decent enough. Debuggability is also much better than OpenGL, which I think is important for newcomers. Debugging OpenGL issues is very, very painful, especially with macOS's lack of debug extensions. Metal is described as "low-level", but it's not quite at the level of Vulkan -- things are simpler and more "streamlined". There's also the problem that a large chunk of OpenGL learning materials out there are hopelessly outdated, and IMO actively detrimental to learning modern graphics techniques. Judging from the types of questions I see around various forums, it seems to be VERY hard for newcomers to distinguish between "bad" and "good" OpenGL tutorials. In general, there's too much cruft for learners to focus in on the stuff that is actually part of "good OpenGL".
- exDM69 8y ago> OpenGL is "learnable" by someone in the process of learning. If this is the case, it's only because there is much more material and tutorials written. Not because OpenGL is simpler or better. I know because I watch noobs stumble with OpenGL all the time over at ##opengl in freenode. It usually takes them a week or two to get a triangle on screen, and they're super confused about semi-opaque concepts such as "vertex array objects" (they're well documented in the OpenGL wiki, but reading documentation seems to be out of fashion). It would certainly help (them) if they had a good knowledge about 3d graphics in general before stumbling into OpenGL. But if they had, they'd be able to do it using Vulkan or Metal with no great difficulty. OpenGL isn't at all better here.
- badsectoracula 8y ago> OpenGL is effectively being deprecated by its own developers in favor of Vulkan OpenGL is not deprecated, releases slowed down since there isn't really much new stuff to add, but 4.6 was released just last year after Vulkan.
- chipotle_coyote 8y agoI know it's not an official deprecation, but it sure seems like the Khronos Group sees Vulkan as OpenGL's de facto successor.
- badsectoracula 8y agoI'm not sure why you say that, their official stance has always been that OpenGL will continue to evolve as GPUs evolve and need to expose new functionality.