Not happening anytime soon. The industry has lined up pretty solidly behind Khronos/Vulkan.
Not happening anytime soon. The industry has lined up pretty solidly behind Khronos/Vulkan.
Basically, instead of graphics being a framework, I want graphics to be a straightforward library you include and use in your CUDA/HIP/SYCL/OpenCL code.
how would that work? like GPU frameworks would just be compute (like cuda) and some small component of it would just allow to write the end result to a buffer which would be displayed or smth?
What industry? Gaming industry is mostly using DirectX or Gnm/PSSL.
The Nintendo Switch and PCs support OpenGL and Vulkan. But those are both dwarfed by mobile gaming which I think makes up more than half of the entire gaming market, and both iPhone and Android support OpenGL. Although I don't know if the majority of mobile games use it or not.
OpenGL on Apple is on life support to support existing software, Apple platforms are all in on Metal now.
The only platforms where OpenGL and Vulkan are first class citizens is Linux, Android and Windows (barely). And Vulkan is still second fiddle to DirectX on Windows.
It would be hard to quantify exactly how much of it is using OpenGL, as a percentage.
However, for a very rough upper bound I quickly looked up these:
* Mobile gaming apparently makes 52% of the entire gaming market in 2023
* Android is 78% of mobile gaming
That could mean OpenGL makes up to 40% of the entire gaming market just from Android.
Although I have no idea what percentage of Android games use OpenGL and wouldn't know how to look that up. I also don't know how accurate those percentages are. I got them from brief Google queries and got both the 52% and 78% figures from the featured snippet.
But even if that 40% is much too high, we still need to add switch and PC games and I would find a figure of 30% of the gaming industry using openGL to be believable. That would put OpenGL as the largest API which I didn't expect, even as a possibility.
Imho Vulkan is the least used of all the APIs if you disregard it as a compatibility layer