top | item 37247595

(no title)

phant0mas | 2 years ago

To a backend software developer that wants to experiment on 3d graphics, on linux, what would one suggest? Opengl?

discuss

order

shortrounddev2|2 years ago

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/

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

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.

saidinesh5|2 years ago

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...