Live data from Hacker News

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

learnopengl.com

51–60 of 148 posts

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

#51

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)

This advice is basically like a teenager wanting to play electric guitar to jam out a few rock tunes, but their parents insist on learning classical guitar instead because starting with the fundamentals is the only "real" way to become a great musician. Meanwhile the kid loses interest and moves on to something else.

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

#52

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)

Vulkan is garbage. It's completely needlessly overengineered. Like, you literally have to write 50 lines of code just to allocate GPU memory, which is a one-liner in other APIs like CUDA. These 50 lines include things like heap type shopping and usage flags, that are entirely pointless for modern desktop GPUs. I know there is VMA, but that is a poorly made bandaid over a badly designed API, and barely addresses one out of 100 UX issues with Vulkan. There is a reason so many are sticking with OpenGL. OpenGL is fairly bad, but at least it isn't Vulkan.

But I can agree with CUDA. CUDA is great, in a large part because it actually offers an easy to use API.

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

#53
post #32

Earlier quoted context omitted.

Im the author of vkguide.dev and i disagree. I wrote that tutorial specifically for people that have already gone through learnopengl and want to learn vulkan. The core problem with the modern apis is that they are so incredibly complicated that they will kill any newbie on the spot. When the student still doesnt really know what a mesh is, having them setup GPU side memory allocators and graphics compute pipelines i…

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

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

#54
post #15
post #8

Earlier quoted context omitted.

OpenGL is not obsolete and is totally fine for many use cases. Vulkan is way too complicated and cumbersome for many. Even if OpenGL doesn't get new features what exists now will continue to work for decades.

I do agree Vulkan is too cumbersome, but OpenGL is definitely obsolete. The OpenGL API with its binding-based approach is also very confusing for beginners, but the replacement Direct State Access API came too late (after Apple already decided they would deprecate OpenGL, so it never got supported on macOS). And the fact that the GLSL parser and compiler are part of the driver means there are tons of hardware-specifi…

> Personally, I would recommend WebGPU to people who want to get into graphics programming.

Unfortunately WebGPU is like 5 years behind OpenGL 4.6, which is already 8 years old. WebGPU is pretty ancient.

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

#55
post #8

Earlier quoted context omitted.

OpenGL is not obsolete and is totally fine for many use cases. Vulkan is way too complicated and cumbersome for many. Even if OpenGL doesn't get new features what exists now will continue to work for decades.

A data point: "OpenGL ES is still supported on Android, but is no longer under active feature development. Vulkan offers the following advantages over OpenGL ES" "Vulkan is the preferred Android interface to the GPU. Android 15 and up includes ANGLE as an optional layer for running OpenGL ES on top of Vulkan." https://developer.android.com/games/develop/vulkan/overview

Ironically, the Vulkan discord always complains about the bad support of Vulkan on mobile devices, and how OpenGL ES is still better supported.

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

#56
post #9

Earlier quoted context omitted.

It's so much easier than Vulkan or writing shaders and the performance is more than good enough for a lot of applications. I wonder if somebody has written a adapter layer to write old OpenGL and translate it on the fly to Vulkan?

> It's so much easier than Vulkan or writing shaders Even if you use OpenGL you still need to write shaders.

Shaders aren't the issue with Vulkan. Writing 50 lines of code for things that should be one-liners is.

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

#57
post #24

Earlier quoted context omitted.

In 2026: Yes yes, please please learn this if you're beginning computer graphics. This is basically the One and Only Holy Bible of graphics programming, and dealing with a slightly outdated and weird API doesn't make it worse even a teeny bit. You will never get the same quality of fundamental education material from any of the other tutorials ( especially Vulkan ones, since most of them assume you already know the b…

> You will never get the same quality of fundamental material If you're looking for fundamental material, the last thing you want is learning a very (not slightly) outdated and weird API. > Vulkan and DX12 are currently flawed APIs that are unnecessarily complex and doesn't even match the performance characteristics of current-gen hardware And OpneGL is worse

> And OpneGL is worse

I disagree. OpenGL is truly bad, but there is no API in this world as bad as Vulkan.

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

#58
post #32

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)

Im the author of vkguide.dev and i disagree. I wrote that tutorial specifically for people that have already gone through learnopengl and want to learn vulkan. The core problem with the modern apis is that they are so incredibly complicated that they will kill any newbie on the spot. When the student still doesnt really know what a mesh is, having them setup GPU side memory allocators and graphics compute pipelines i…

The problem with most modern "how to learn graphics programming" guides is that they over index on "low level GPU programming" and under index on important foundational 3D graphics concepts. Transformations and coordinate systems, model space, world space, view space, clip space, normalized device coordinates, screen space, concepts like parallel vs. perspective projection, viewport and viewport transformation, colors, lighting, materials, reflection, blending, antialiasing, texture mapping, various buffer types, tessellation...

You want to start with OpenGL because the API is organized roughly around these high level concepts. Starting with something like Vulkan means you're dropped straight into hundreds of lines of low level boilerplate setting up VkCommandBuffers and VkRenderPasses and VkPipelines and shaders, and all this GPU programming, and it's all just bewildering if you're used to thinking about things at the high level first, or just want to draw a fucking triangle on the screen.

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

#59
post #15

Earlier quoted context omitted.

I do agree Vulkan is too cumbersome, but OpenGL is definitely obsolete. The OpenGL API with its binding-based approach is also very confusing for beginners, but the replacement Direct State Access API came too late (after Apple already decided they would deprecate OpenGL, so it never got supported on macOS). And the fact that the GLSL parser and compiler are part of the driver means there are tons of hardware-specifi…

> Personally, I would recommend WebGPU to people who want to get into graphics programming. Unfortunately WebGPU is like 5 years behind OpenGL 4.6, which is already 8 years old. WebGPU is pretty ancient.

WebGPU only got started in 2021, so Im not sure what you mean. Could you explain? (Or are you thinking of WebGL?)

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

#60
post #24

Earlier quoted context omitted.

> You will never get the same quality of fundamental material If you're looking for fundamental material, the last thing you want is learning a very (not slightly) outdated and weird API. > Vulkan and DX12 are currently flawed APIs that are unnecessarily complex and doesn't even match the performance characteristics of current-gen hardware And OpneGL is worse

Have you actually read the linked site beyond its name? The site is about fundamentals. Yes, it contains OpenGL code, but what it covers is the fundamentals of real time graphics, not just OpenGL API.

> Have you actually read the linked site beyond its name? The site is about fundamentals.

Is it? All the fundamentals are tied to how it's done in OpenGL with somewhat sparse explanations in between. And many "fundamentals" are literally something like

    #version 330 core
    struct Material {
Post reply on HN