Live data from Hacker News

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

learnopengl.com

91–100 of 148 posts

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#91
post #46

In 2026: Please don't learn this; it's obsolete. Learn Vulkan (Or another modern API; or how to build engines on top of them; or how to write shaders; or how to do GPU compute using CUDA etc)

Relatedly: could someone recommend a Vulkan introduction for people who don't "just want to make it work"? I understand the fact that Vulkan abstracts away a lot less of the rendering device than OpenGL does – that may be a strength or a weakness, but either way I'd like to understand. It seems a lot of introductions just skip over it all while apologizing for the boilerplate. I think I once bookmarked an article whi…

>could someone recommend a Vulkan introduction for people who don't "just want to make it work"?

Khronos has a tutorial that walks you through getting a triangle on the screen, to rendering a glTF model, all the way up to how you go about making a simple engine.

But I'm not sure what you mean by "understand". If you want to understand the graphics theory, Vulkan tutorials aren't going to teach you that.

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#92
post #79

I cannot imagine a field more rewarding than programming with opengl when you grew up playing games. I'm talking about hobbyist engine type of development. It is almost like therapy for any dev that does web/cloud stuff during a day job.

I'm not as interested in game development but I'm one of these web/cloud people who finds graphics work extremely therapeutic. I made a box move around on the screen with various easing animations and it was some of the most fun I've ever had programming.

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#93
If you really want to learn from first principles, I'd recommend writing a software renderer without any graphics API. If you're looking for a course, see [1]. Next up, extend the software renderer to render a 3D character model (an obj file will suffice) which [1] covers and animate that 3D model with skeletal animation all the while on the CPU. Use quake's md5mesh and md5anim files to render the skeletal animation from [2]. This just lays down a clear foundation of what a rendering pipeline looks like.

Then pick up something like Modern OpenGL and you'll easily intuit if you've put in the hard yards above, which parts of this pipeline are fixed and which are programmable on a hardware designed specifically to do 3D. It just so happens that the same is reusable for compute and there you go with all the D/ML jazz. After this, read up on the HW architecture of GPU's (the literature is sparse as these are vendor locked) but realtimhrendering books has chapters on it and you can find out why Vulkan, DX12, Metal are in vogue now and OpenGL has been deprecated.

[1] https://pikuma.com/courses/learn-3d-computer-graphics-progra...

[2] http://tfc.duke.free.fr/coding/md5-specs-en.html

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#94

Earlier quoted context omitted.

> The core problem with the modern apis is that they are so incredibly complicated that they will kill any newbie on the spot. I would agree if by modern you mean DX12 or Vulkan, but WebGPU (and maybe even Metal) are quite decent.

WebGPU has the issue that feature/capability-wise it is essentially 5 years behind OpenGL 4.6, which came out 8 years ago. And the other downside being that it adopted old Vulkan concepts that even Vulkan started to ditch, like render passes and static pipelines.

For beginners that's irrelevant. WebGPU has more than enough features for beginners to learn about graphics programming. Not just that, once you're used to WebGPU, going to Vulkan will be much easier than the transition from OpenGL.

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#97
post #77

The old primitive API was the best. Who invented the new shader API? They ruined my life.

Same sentiment here. My litmus test is - after creating a window - "how many lines of code does it take to render a triangle?". With the old OpenGL API you could do this in like 10 lines of code (probably even less with SGI's GL). With the new/shader-based API, well... https://learnopengl.com/Getting-started/Hello-Triangle Vulkan - I don't even want to know.

> Vulkan - I don't even want to know

Almost 1000: https://github.com/Overv/VulkanTutorial/blob/main/code/15_he...

(From Chapter 15 of the Vulkan Tutorial from vulkan-tutorial.com)

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#98

Honestly, in 2026 I would not really bother with OpenGL. Just start with WebGPU, it's much nicer. You can use it easily on most modern browsers or better can even use native libraries like Dawn or WGPU.

OpenGL is still the simplest way to start learning hardware accelerated rendering, and it runs on all modern platforms.

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#99
post #84

Earlier quoted context omitted.

I've heard that learning WebGPU is a pretty decent alternative, it's cross-platform, has runners that are non-web, and has some of the niceties of Metal without being platform lock-in

" it's cross-platform" Nothing in real time graphics _actually_ is cross platform. You are always programming a vendor hardware. "Cross platform" really has no value in graphics programming, honestly, when discussing the lowest level programmable api. You always need to explicitly say which platforms you target, and then test on those platforms. The main questions should be "on which platform will my users run it" an…

as a mac user who does suffer from the insanity of compiled for Mac, but never tested on a Mac, thank you.

Re: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

#100
post #76

Shaders used to not make any sense to me. The tutorial writes a simple expression and boom the screen is displaying all kinds of funky things. Then I realized you're just writing code that executes on all pixels sequentially. That made it easier to understand

> executes on all pixels sequentially or in parallel?

Now that I think about it, parallel makes more sense since it's GPU accelerated, but now I'm back to being confused lol
Post reply on HN