4 ms·
the modern graphics API landscape is a disaster. they killed opengl es, they basically killed opengl. Apple is trying to lock everyone in with metal, khronos
by soup10 4y ago
the modern graphics API landscape is a disaster. they killed opengl es, they basically killed opengl. Apple is trying to lock everyone in with metal, khronos group is trying to get everyone to move to vulkan, microsoft is doing the same with d3d12. The only people winning here are the major engines and AAA studios who have the scale to deal with all the platform complexity and benefit from it because it creates a moat from competitors. There's an argument for regulation here because the market is dysfunctional but I don't think we'll ever see the day where politicians understand complex technology issues enough to fix it.
- pjmlp 4y agoThe graphic API landscape is how it always has been, specially on game consoles, really OpenGL only had a shot thanks to id Software, and even Carmack changed his mind later. > Speaking to bit-tech for a forthcoming Custom PC feature about the future of OpenGL in PC gaming, Carmack said 'I actually think that Direct3D is a rather better API today.' He also added that 'Microsoft had the courage to continue making significant incompatible changes to improve the API, while OpenGL has been held back by compatibility concerns. Direct3D handles multi-threading better, and newer versions manage state better.' https://www.bit-tech.net/news/gaming/pc/carmack-directx-better-opengl/1/ https://www.bit-tech.net/news/gaming/pc/carmack-directx-bett... On the subject of this thread, it was also DirectX 12 Ultimate that introduced Mesh Shaders. Meanwhile had it not been for AMD Mantle, Khronos would still be wondering how OpenGL vNext would be like, Vulkan is already reaching the same level of OpenGL extension spaghetti, and the latest extension acknowledges pipelines were a design error that failed to gain adoption. "On the application side, many developers considering or implementing Vulkan and similar APIs found them unable to efficiently support important use cases which were easily supportable in earlier APIs. This has not been simply a matter of developers being stuck in an old way of thinking or unwilling to "rein in" an unnecessarily large number of state combinations, but a reflection of the reality that the natural design patterns of the most demanding class of applications which use graphics APIs — video games — are inherently and deeply dependent on the very "dynamism" that pipelines set out to constrain." https://github.com/KhronosGroup/Vulkan-Docs/blob/main/proposals/VK_EXT_shader_object.adoc https://github.com/KhronosGroup/Vulkan-Docs/blob/main/propos... Design by committee at its best.
- atq2119 4y ago> On the subject of this thread, it was also DirectX 12 Ultimate that introduced Mesh Shaders. It was actually Nvidia who introduced mesh shaders by way of Vulkan and DX12 extensions. And then both Khronos and Microsoft went through concurrent processes to turn it into something that is somewhat suitable for cross vendor use. Though how suitable remains open. The sweet spots for mesh sizes etc still seem different for different vendors.
- deleted 4y ago[deleted]
- pjmlp 4y agoI stand corrected, just checked and NVidia's blog post predates DX 12 Ultimate.
- apatheticonion 4y ago> The graphic API landscape is how it always has been, specially on game consoles This is not what I want as a consumer though. Honestly I don't care if I have a MacBook, Windows PC or a Linux desktop - I just want to be able to play games. With the current state, I have my MacBook Pro for work and I travel frequently. Before Apple Silicon, I could bootcamp Windows and get by with one computer. Now I actually travel with two computers. I understand that design by committee can be challenging because of potential for spaghetti - but that doesn't make a fractured/siloed ecosystem better. Ultimately, Apple could support Vulkan alongside Metal. It's not a binary choice.
- pjmlp 4y agoYou're in good position then, all game engines that matter support all major APIs. If a game isn't available in a specific platform, the 3D APIs aren't the issue, rather additional QA costs, platform own quirks, addtional support costs, expected sales, see Android NDK games versus how little of them are available on GNU/LInux, yet Vulkan/OpenGL ES/OpenSL/C/C++ are available in both platforms.
- flohofwoe 4y agoIt's good that OpenGL is dead since it became a mess of an API starting at around 2.0, and it only got worse afterwards. The problem is that Vulkan is also already a mess of an API, that's why it is so important to have alternatives like D3D or Metal. Also... the regulation argument is silly, competition is always good for everyone even in obscure niches like 3D APIs. (FWIW at least Vulkan is starting to improve with radical recent extensions like VK_KHR_dynamic_rendering, VK_EXT_shader_object and VK_EXT_extended_dynamic_state, but especially the last two are almost a 180 degree reversal on the previous design philosophy - funny enough, those extension look quite similar to the OpenGL programming model, I'm not sure if the pendulum is swinging a bit too much into the opposite direction)