In a previous blog post we have discussed the usage scenarios of Vulkan and OpenGL. Even if going Vulkan is not an option at the moment, its concepts do show where modern rendering architectures are heading.
With the availability of Vulkan there are now two open graphics APIs that target similar platforms. This brings up the questions which API to choose for new applications, or what to do with existing applications.
Vulkan offers another key difference to OpenGL with respect to memory allocation. When it comes to managing memory allocations as well as assigning it to individual resources, the OpenGL driver does most of the work for the developer.
If you have started developing or porting games that use DX12, you have probably realized that it is,
in many ways a very different beast when compared to DX11. Lots of responsibility is suddenly being
placed on your shoulders.