3 ms·
So, they're advising to recreate a custom version of the old OpenGL statemachine?
by thrower123 7y ago
So, they're advising to recreate a custom version of the old OpenGL statemachine?
- bsder 7y agoThat's the result, but it's not their intent. The problem is that Vulkan requires about 1500 lines of boilerplate to put a simple triangle on the screen. The issue is that you have to wire as much as possible up statically so the graphics hardware can fly once you start feeding it vertex information. However, for someone who doesn't need maximum performance, the setup boilerplate is a nuisance as Vulkan doesn't do the idea of "sensible default". So, everybody tries to "encapsulate" this boilerplate. The problem is that this obscures the fact that you are setting up things which have distinct dependency orders. And sometimes those orders are different depending upon what you are trying to do. If you already understand advanced graphics card hardware, dependency encapsulation is great. If you really don't yet have the ideas of things like subpasses, pipelines, graphics queues, and queue synchronization really crystal clear, you don't want things abstracted as you are still experimenting and prodding the code in weird ways.