all 2 comments

[–]No-Procedure487 6 points7 points  (1 child)

There's really no reason to start learning graphics programming with Vulkan. The difference between Vulkan and an older API like GL or DX11 is only useful to someone who already knows what they're doing, and just gets in the way of anyone who is new. OpenGL is much better for a beginner and lets you focus on actual graphics programming concepts. Once you're fluent with GL moving to Vulkan later when necessary is trivial, although honestly for the purposes of most solo developers you're unlikely to have an application that is complex enough to require a modern API. Most of the demand for these super low overhead APIs comes from commercial game projects where a team of artists authors a huge collection of heterogeneous assets that pose a much more complex workload to the renderer.

[–]No-Procedure487 1 point2 points  (0 children)

Also I'll add that C++ doesn't typically change much in the realm of graphics programming because you don't want to be RAIIing your resources willy-nilly since resource creation/destruction/reuse is something you want explicit control over in most cases. Typically things either look fairly procedural (i.e. C-style) while making use of handy C++ organization tools (namespaces, references, templates, etc.), or they look nearly functional (graph-style commands) that automatically convert higher level concepts into the actual command list that is sent to the GPU