OpenGL is far more beginner friendly than Vulkan. Vulkan (along with DirectX 12) is an API designed for professional graphics programmers, whereas OpenGL is a lot more accessible and manages a lot of state for you under the hood.
And, to save you some time with debugging, use RenderDoc to debug your graphics pipeline: https://renderdoc.org/
WebGPU is worth considering. (There is a native impl called dawn for C++)
OpenGL's API has layers of old APIs embedded in it, which can make it hard to learn. It does have the advantage of more resources though.
Depends on what your prior exposure to 3D graphics is... And what you want to build in 3D.
A top down approach would be something like three.js -> webgl/webgpu/etc... That way you'll see results quickly. And you'll know how lower level graphics concepts like vertex shaders, fragment shaders etc.. fit into the picture.
Doing it with web tech might be more familiar to you and you won't get bogged down with unrelated issues like build systems, windowing libraries etc...
shortrounddev2|2 years ago
And, to save you some time with debugging, use RenderDoc to debug your graphics pipeline: https://renderdoc.org/
https://learnopengl.com/ is my favorite beginner resource for OpenGL
---
as an aside, I like DirectX better than OpenGL, but you said Linux, so...
fyrn_|2 years ago
saidinesh5|2 years ago
A top down approach would be something like three.js -> webgl/webgpu/etc... That way you'll see results quickly. And you'll know how lower level graphics concepts like vertex shaders, fragment shaders etc.. fit into the picture.
Doing it with web tech might be more familiar to you and you won't get bogged down with unrelated issues like build systems, windowing libraries etc...