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
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)
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
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 {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.
Another link floated to the top of HN discussion just now, and every sibgle link there is better than these "fundamentals": https://news.ycombinator.com/item?id=49022038 E.g. "Computer Graphics from Scratch" https://gabrielgambetta.com/computer-graphics-from-scratch/ or Mathematics for Computer Graphics https://www.amazon.co.uk/Mathematics-Computer-Graphics-John-...
#version 450
struct Material {
Despite the name, GLSL is still used all over the place in Vulkan pipelines. The site teaches you the shader approach (rather than the fixed function pipeline of the 90s) which is what the "modern" Vulkan stack uses too.I disagree. OpenGL is truly bad, but there is no API in this world as bad as Vulkan.