4 ms·
Vulkan is by far the most powerful and the most pain in the ass API I've ever worked with. I agree on every point you just made.
by reactordev 8mo ago
Vulkan is by far the most powerful and the most pain in the ass API I've ever worked with. I agree on every point you just made.
- jorvi 8mo agoIsn't the idea that 99% of people use a toolkit atop of Vulkan? Like, these days game devs just use Unreal Engine, which abstracts away having to work with the PS5 / PS4, DirectX 12, and Vulkan APIs. I imagine unless it's either for A. edification or B. very bespoke purpose code, you're not touching Vulkan.
- m-schuetz 8mo agoMany people need something in-between heavy frameworks and engines or oppinionated wrappers with questionable support on top of Vulkan; and Vulkan itself. OpenGL served that purpose perfectly, but it's unfortunately abandoned.
- quantummagic 8mo agoIsn't that what the Zink, ANGLE, or GLOVE projects meant to provide? Allow you to program in OpenGL, which is then automatically translated to Vulkan for you.
- m-schuetz 8mo agoI don't see the point of those when I can just directly use OpenGL. Any translation layer typically comes with limitations or issues. Also, I'm not that glued to OpenGL, I do think it's a terrible API, but there just isn't anything better yet. I wanted Vulkan to be something better, but I'm not going to use an API with entirely pointless complexity with zero performance benefits for my use cases.
- pjmlp 8mo agoThat is the approach Google is taking, by making Vulkan the only 3D API on Android. See Android ANGLE on Vulkan roadmap, https://developer.android.com/games/develop/vulkan/overview#android-angle-on-vulkan-roadmap https://developer.android.com/games/develop/vulkan/overview#...
- reactordev 8mo agoThose are mostly designed for back porting and not new projects. OpenGL is dead for new projects.
- jplusequalt 8mo agoWasn't it announced last year that it was getting a new mesh shader extension?
- fc417fc802 8mo ago> OpenGL is dead for new projects. Says who? Why? It looks long term stable to me so I don't see the issue.
- reactordev 8mo agoDirectX 9 is long term stable so I don't see the issue... No current gen console supports it. Mac is stuck on OpenGL 4.1 (you can't even compile anything OpenGL on a Mac without hacks). Devices like Android run Vulkan more and more and are sunsetting OpenGLES. No, OpenGL is dead. Vulkan/Metal/NVN/DX12/WebGPU are the current.
- fc417fc802 8mo agoThe aforementioned abstraction layers exist. You had dismissed those as only suitable for backporting. Can you justify that? What exactly is wrong with using a long term stable API whether via the native driver or an abstraction layer? Edit: By the same logic you could argue that C89 is dead for new projects but that's obviously not true. C89 is eternal and so is OpenGL now that we've got decent hardware independent implementations.
- pjmlp 8mo agoNintendo Switch supports OpenGL, across all its models. https://www.khronos.org/conformance/adopters/conformant-products/opengl#submission_378 https://www.khronos.org/conformance/adopters/conformant-prod... https://www.khronos.org/conformance/adopters/conformant-products/opengl#submission_193 https://www.khronos.org/conformance/adopters/conformant-prod... https://www.khronos.org/conformance/adopters/conformant-products/opengl#submission_129 https://www.khronos.org/conformance/adopters/conformant-prod...
- flohofwoe 8mo ago> Isn't the idea that 99% of people use a toolkit atop of Vulkan? This idea creates a serious chicken-egg-problem. Two or three popular engine code bases sitting on top of Vulkan isn't enough 'critical mass' to get robust and high performance Vulkan drivers. When there's so little diversity in the code hammering on the Vulkan API it's unlikely that all the little bugs and performance problems lurking in the drivers will be triggered and fixed, especially when most Unity or Unreal game projects will simply select the D3D11 or D3D12 backend since their main target platform on PC is Windows. Similar problem to when GLQuake was the only popular OpenGL game, as soon as your own code used the GL API in a slightly different way than Quake did all kinds of things broke since those GL drivers only properly implemented and tested the GL subset used by GLQuake, and with the specific function call patterns of GLQuake. From what I've seen so far, the MESA Vulkan drivers on Linux seem to be in much better shape than the average Windows Vulkan driver. The only explanation I have for this is that there are hardly any Windows games running on top of Vulkan (instead they use D3D11 or D3D12), while running those same D3D11/D3D12 games on Linux via Proton always goes through the Vulkan driver. So on Linux there may be more 'evolutionary pressure' to get high quality Vulkan drivers indirectly via D3D11/D3D12 games that run via Proton.
- reactordev 8mo ago>”hardly any Windows games running on top of Vulkan” I run all my windows games on Vulkan. https://www.pcgamingwiki.com/wiki/List_of_Vulkan_games https://www.pcgamingwiki.com/wiki/List_of_Vulkan_games
- flohofwoe 8mo ago280 games over 10 years really isn't impressive (2.5x less than even D3D8 which was an unpopular 'inbetween' D3D version and only relevant for about 2 years). D3D12 (890 games) isn't great either when compared to D3D11 (4.6k) or D3D9 (3.3k), it really demonstrates what a massive failure the modern 3D APIs are for real-world usage :/ I don't think those lists are complete, but they seem to show the right relative amount of 3D API usage across PC games.
- 8mo ago
- reactordev 8mo agoNo. There are literally dozens of in-house engines that run on Vulkan. Not everything is Unreal or Unity.
- jplusequalt 8mo ago>Like, these days game devs just use Unreal Engine This is not true in the slightest. There are loads of custom 3D engines across many many companies/hobbyists. Vulkan has been out for a decade now, there are likely Vulkan backends in many (if not most) of them.