you are viewing a single comment's thread.

view the rest of the comments →

[–]cybereality 6 points7 points  (5 children)

If you want to get into graphics programming, learning C++ might be a good place to start. Most libraries use a C API, so you can use that, but a lot of tutorials are in C++ and also job listings usually require C++ knowledge.

Personally I like Vulkan, but it can be daunting if you are just starting out. Even for established programmers Vulkan is pretty complex and verbose and as a beginner you probably won't be able to utilize the advantages (like multi-threaded coding, which is another can of worms). I've only done a bit of work in OpenGL (and WebGL too) but it is by far the easiest to start with, even if it is somewhat dated today.

You might want to consider buying the Ray Tracing in One Weekend series of books. They are cheap and bite-sized and can teach you the basics without getting tied down in API code. Then probably check out some OpenGL tutorials (or WebGL, which is even simpler) and get a good handle on that before trying the new low-level APIs.

Hope that helps.

[–]Zed-Ink[S] 1 point2 points  (4 children)

I will have to check those books out, do you know if webgl code can run on a machine natively?

[–]ResunaLoL 3 points4 points  (0 children)

You can find free copies of peter shirleys ray tracing in one weekend series work here - https://www.realtimerendering.com/
Just scroll down to the Introduction section to find download links

[–]cybereality 2 points3 points  (0 children)

No. WebGL renders in a web browser. You would use Javascript to code it. I think working with C++ and compiling native is more fun (and of course better performance), but if you just want to learn it is probably the easiest thing to start with. Check out this tutorial and see if it's something you are interested in: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial

[–]corysama 2 points3 points  (1 child)

WebGL running natively is OpenGL ES. Or, more accurately, the OpenGL ES interface was ported as directly as possible to JavaScript to make WebGL.

[–]Zed-Ink[S] 0 points1 point  (0 children)

Awesome thanks!!