3 ms·
I haven't looked at DirectX 12's documentation, but I really should. Khronos Group's Vulkan Samples are broken out of the box, crash on a fresh build, and the H
by andrewmcwatters 4y ago
I haven't looked at DirectX 12's documentation, but I really should. Khronos Group's Vulkan Samples are broken out of the box, crash on a fresh build, and the Hello Triangle API sample crashed when you minimize it. It's just a shitshow.
Alexander Overvoorde's Vulkan Tutorial is in my opinion, the de facto practical documentation for a first pass Vulkan implementation, but he also does some small things wrong that you just should not do in a production application.
It took me over 700 lines of C for a minimal replica.[1]
I'm not a fan of Vulkan not having a built-in compiler for shaders compared to OpenGL. I'm sure there's a superior technical reason for it, but I don't care because it's ruined my development experience, and reintroducing the behavior requires a sizable increase in CMake dependency overhead.
https://github.com/Planimeter/game-engine-3d/blob/main/src/graphics_vulkan.c https://github.com/Planimeter/game-engine-3d/blob/main/src/g...
- shmerl 4y ago> I'm not a fan of Vulkan not having a built-in compiler for shaders compared to OpenGL. What does that mean? The standard doesn't dictate any kind of form of implementation of the compiler. Different OpenGL drivers can use different compilers. Same for Vulkan.
- andrewmcwatters 4y agoI mean that there is no vkCompileShader to OpenGl's glCompileShader. You must bring your own precompiled .spv. This is what you'd most likely want in production anyway, but for my purposes, it's a missed API feature.
- shmerl 4y agoWell, it has still to be compiled later into machine code. But how hard is it to compile GLSL into SPIR-V using an external compiler.