Live data from Hacker News

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

learnopengl.com

61–70 of 148 posts

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

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

> 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 nev…

> It's never late to learn Vulkan / DX12 after learning learnopengl.com!

Why would you do that? Why would you want to learn an API for graphics cards from the 90s instead of an API for the graphics card from the 2010s?

> The value of learnopengl.com isn't in the APIs, it's about learning the basic concepts of graphics programming.

Then you should learn concepts of graphics programming that isn't defined with code snippets like

    #version 330 core
    struct Material {
?

> And you'll probably have to unlearn Vulkan and DX12 again once a new API has surfaced

Strange. You "have to unlearn a newer API when an even newer one has surfaced, but you should learn this ancient API anyway".

Edit. See also another comment: https://news.ycombinator.com/item?id=49027094

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

#63
post #59

Earlier quoted context omitted.

> 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?)

WebGPU is newer, but lacks modern functionality because it was made to support ancient smartphones. That's great if you want to support ancient smartphones, but not if you want to utilize modern desktop GPUs.

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

#64

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.

Without any sort of proper debugging tools.

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

#65
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)

There are a few nice books, they are a bit out of date though.

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

#66
post #45

Earlier quoted context omitted.

Nope, the limitations are just too huge for actual usage. Heard Godot Engine tried to use MoltenVK for macOS but experienced too many issues so they just developed a Metal backend. The fundamental problem is Metal 3 is just too high-level to be able to emulate all of Vulkan's behavior. The new Metal 4 API (which is more low level and similar to Vulkan in many ways) might have improved things recently, but sadly Molte…

Worse than OpenGL though? Haven't had the time to really look into it, probably native Metal is better, yes, but either way it might be easier to port/adapt from Vulkan than from OpenGL (due to similar concepts, no global state, etc)

Yes, hence there is now a new layer, KosmicKrisp.

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

#67

Earlier quoted context omitted.

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 :-(

Nope, as Google has moved to use Angle on top of Vulkan.

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

#68
post #59

Earlier quoted context omitted.

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

WebGPU is newer, but lacks modern functionality because it was made to support ancient smartphones. That's great if you want to support ancient smartphones, but not if you want to utilize modern desktop GPUs.

Thanks, that makes sense

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

#69
post #60

Earlier quoted context omitted.

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 {

Yes, it is. Most articles there are practically API-agnostic. Just because the code examples happen to be written with OpenGL it doesn't mean it's about OpenGL.

https://learnopengl.com/PBR/Lighting

Even the code snippets start with "#version 330", if you implement these in another tech stack (say vulkan+slang) the relevant shader code would look very similar. It's quite strange to me that you think just because of "#version 330" it's not about fundamentals, tbh.

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

#70
post #22

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)

OpenGL is the only truly cross-platform graphics API out there. Vulkan isn't on Apple platforms, unless you use MoltenVK which implements it on top of Metal. Also I don't know why, but Windows games tend to use Direct3D even though afaik GPU drivers do implement Vulkan on Windows, so there must be a good reason for that. It's also much easier to grasp than Vulkan, Metal, or Direct3D.

Contrary to urban myths, OpenGL never was a big thing on game consoles.

Windows official API is DirectX, OpenGL and Vulkan use a plugin API, ICD, which is nonetheless DirectX underneath.

https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

Post reply on HN