News for hackers. Stuff that matters.
Re:Deprecation of OpenGL and OpenCL by chipotle_coyote on Monday June 04, 2018 @05:44PM (#17232839)
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/

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?

Re:Deprecation of OpenGL and OpenCL by chabsf on Monday June 04, 2018 @05:48PM (#17232887)
OpenGL 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.
Re:Deprecation of OpenGL and OpenCL by mellinoe on Monday June 04, 2018 @06:35PM (#17233262)
I 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".

Re:Deprecation of OpenGL and OpenCL by westoncb on Wednesday June 06, 2018 @06:16AM (#17245787)
Any recommendations for 'good OpenGL'?
Re:Deprecation of OpenGL and OpenCL by mellinoe on Thursday June 07, 2018 @02:26AM (#17253735)
I think https://learnopengl.com/ is pretty good.
Re:Deprecation of OpenGL and OpenCL by exDM69 on Tuesday June 05, 2018 @04:32AM (#17235883)
> 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.

Re:Deprecation of OpenGL and OpenCL by Brakenshire on Monday June 04, 2018 @06:25PM (#17233196)
They need a new more developer-friendly API built on top of Vulkan as a replacement for OpenGL.
Re:Deprecation of OpenGL and OpenCL by anaphylactic on Monday June 04, 2018 @07:09PM (#17233460)
I 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.
Re:Deprecation of OpenGL and OpenCL by astrange on Monday June 04, 2018 @07:35PM (#17233641)
OpenGL 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.

Re:Deprecation of OpenGL and OpenCL by sparky_ on Monday June 04, 2018 @10:45PM (#17234559)
There is already OpenGL-on-Metal and OpenGL-on-DirectX middleware, so this may not actually be an issue.
Re:Deprecation of OpenGL and OpenCL by tzahola on Monday June 04, 2018 @06:50PM (#17233342)
Then you could just use one of the existing engines like Unity.
Re:Deprecation of OpenGL and OpenCL by drb91 on Monday June 04, 2018 @06:58PM (#17233396)
Pretty sure Unity is more heavyweight than a few hundred kilobytes of a library.

It also doesn't come installed on my machine.

Re:Deprecation of OpenGL and OpenCL by pjmlp on Tuesday June 05, 2018 @05:30AM (#17236117)
Depending 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.

Re:Deprecation of OpenGL and OpenCL by drb91 on Tuesday June 05, 2018 @04:39PM (#17241812)
Right, 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.
Re:Deprecation of OpenGL and OpenCL by badsectoracula on Monday June 04, 2018 @06:18PM (#17233141)
> 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.

Re:Deprecation of OpenGL and OpenCL by chipotle_coyote on Monday June 04, 2018 @06:58PM (#17233395)
I know it's not an official deprecation, but it sure seems like the Khronos Group sees Vulkan as OpenGL's de facto successor.
Re:Deprecation of OpenGL and OpenCL by badsectoracula on Tuesday June 05, 2018 @04:04AM (#17235769)
I'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.