Live data from Hacker News

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

learnopengl.com

31–40 of 148 posts

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

#31
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

> If you're looking for fundamental material, the last thing you want is learning a very (not slightly) outdated and weird API.

I've never seen a more detailed tutorial than LearnOpenGL that actually goes through the concepts of graphics programming thoroughly and actually make things other than just "learn how to use the API". That alone should be enough to cement the site's longevity.

> And OpneGL is worse

It's never late to learn Vulkan / DX12 after learning learnopengl.com! The value of learnopengl.com isn't in the APIs, it's about learning the basic concepts of graphics programming. If you start learning with Vulkan without any prerequisite knowledge, you'll be bogged in low-level details from the start that isn't really related with learning the actual fundamentals. (And you'll probably have to unlearn Vulkan and DX12 again once a new API has surfaced)

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

#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 is absurd.

Opengl meanwhile is significantly easier, and will give them the important terminology and math required to do graphics. Once the student has learned opengl and wrote a small renderer with a few basic techniques, moving to vulkan or DX12 will happen far more smoothly.

In particular, learnopengl explains a lot of basics like transformation coordinates, what a mesh is, and other similar "basic knowledge", while all vulkan and dx12 tutorials skip through that because they are meant for a much more experienced audience.

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

#33
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 still think that OpenGL is a better place to start learning 3D because there is so much less bookkeeping to do regarding memory and concurrency vs. Vulkan. I'm working on a "Post-Modern OpenGL" tutorial that exclusively teaches the most "modern" (merely a decade old) APIs and practices of GL 4.6. But, writing is slow going... If you are going to use Vulkan, check out https://howtovulkan.com/ Vulkan started with a l…

> I'm working on a "Post-Modern OpenGL" tutorial that exclusively teaches the most "modern" (merely a decade old) APIs and practices of GL 4.6. But, writing is slow going...

Is it the AZDO stuff? Quite interested, since there isn't really much information on the Internet about it rather than some slides and GDC videos.

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

#34
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

Android smartphones are notorious in having low-quality Vulkan drivers full of bugs and spec violations... (I'm looking at you Qualcomm!)

A data point: SDL3-GPU maintainers announced that they will not give a shit about Android support, since there's just too many devices that haven't properly implemented the Vulkan spec. (https://github.com/libsdl-org/SDL/issues/12652#issuecomment-...)

Another data point: the current maintainer of the renderer portion of the Godot engine suffering through all the bug reports from Android devices (https://github.com/godotengine/godot/issues?q=is%3Aissue%20s...)

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

#35
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…

What is the current status of WebGPU support in browsers? I tried to get into it a while ago go, when the writing was already on the wall for WebGL. But WebGPU just wasn't there yet, so I had to stick with WebGL.

As always, a decade behind current hardware capabilities andnl browser vendors refuse to have debugging tools.

You need a native build for proper GPU debugging, or do shader printf debugging style.

However, it is what is available.

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

#36
post #23
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.

OpenGL is limited to 4.1 on Apple platforms if I am not mistaken, and will not get updated ever. So you will run into missing features eventually on some platforms, e.g. SSBOs are really nice but you can't them use on Apple devices. For me, a much stronger argument against OpenGL is that is requires a global state. This often leads to bad design, is miserable to multi-thread, and is rather tedious to port to Vulkan.…

I think if you're trapped in the Apple ecosystem then Metal is your only production-quality option. But beginner-level learning material for it is quite sparse, so it's better to transition from OpenGL to Metal rather than learning Metal from scratch. (If you're an experienced graphics dev, you should be able to follow up on Metal by just reading their example source code)

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

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

The problem with OpenGL isn't so much that its programming model is outdated, but that it is an incredibly confusing and (in many places) just plain badly designed API (just look at VAOs, it's hard to come up with a more broken and useless feature - some of the problems have been salvaged on more recent OpenGL versions, but those are not portable to macOS or GLES3.x). Another (related) problem is that the many sedime…

I think the dark side of OpenGL for beginning graphics programming is that debugging can be really frustrating! I really think learnopengl.com should have a mandatory section for how to use RenderDoc (https://renderdoc.org/) - it's night and day if you know how to use it.

DX11 suffers from the problem that there aren't that much high quality material comparable to learnopengl.com - I really don't like RasterTek which just dumps code at you without explaining things properly. Same for Metal - the best way would be to just download and read the example source code from the official Apple site, but it's rather unfriendly for beginners.

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

#38
post #23

Earlier quoted context omitted.

OpenGL is limited to 4.1 on Apple platforms if I am not mistaken, and will not get updated ever. So you will run into missing features eventually on some platforms, e.g. SSBOs are really nice but you can't them use on Apple devices. For me, a much stronger argument against OpenGL is that is requires a global state. This often leads to bad design, is miserable to multi-thread, and is rather tedious to port to Vulkan.…

I think if you're trapped in the Apple ecosystem then Metal is your only production-quality option. But beginner-level learning material for it is quite sparse, so it's better to transition from OpenGL to Metal rather than learning Metal from scratch. (If you're an experienced graphics dev, you should be able to follow up on Metal by just reading their example source code)

MoltenVK is pretty good I've been told

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

#39

Earlier quoted context omitted.

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

Android smartphones are notorious in having low-quality Vulkan drivers full of bugs and spec violations... (I'm looking at you Qualcomm!) A data point: SDL3-GPU maintainers announced that they will not give a shit about Android support, since there's just too many devices that haven't properly implemented the Vulkan spec. ( https://github.com/libsdl-org/SDL/issues/12652#issuecomment-... ) Another data point: the curr…

Is the GL driver any better? (It sounds like it is?) It's Direct3D on windows all over again :-(

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

#40

Earlier quoted context omitted.

I still think that OpenGL is a better place to start learning 3D because there is so much less bookkeeping to do regarding memory and concurrency vs. Vulkan. I'm working on a "Post-Modern OpenGL" tutorial that exclusively teaches the most "modern" (merely a decade old) APIs and practices of GL 4.6. But, writing is slow going... If you are going to use Vulkan, check out https://howtovulkan.com/ Vulkan started with a l…

> I'm working on a "Post-Modern OpenGL" tutorial that exclusively teaches the most "modern" (merely a decade old) APIs and practices of GL 4.6. But, writing is slow going... Is it the AZDO stuff? Quite interested, since there isn't really much information on the Internet about it rather than some slides and GDC videos.

Yep. It's my thesis that early GL APIs feel beginner-friendly because they are so hand-holdy, one-step-at-a-time. But, they end up more complicated when you get serious and they instill bad practices.

Instead, the "modern" APIs allow you to leverage your pre-existing knowledge of "allocate arrays of structs and start indexing them." That's not trivial. But, it is already familiar. And, it ends up a lot better in the end compared to "Invoke whole lot of functions to manipulate a hidden state machine."

You can find a little info on Modern OpenGL at https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions, https://juandiegomontoya.github.io/modern_opengl.html, https://ktstephano.github.io/, https://patrick-is.cool/posts/2025/on-vaos/

Post reply on HN