Live data from Hacker News

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

learnopengl.com

111–120 of 148 posts

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

#111

Earlier quoted context omitted.

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.

I wouldnt recommend anyone going to Vulkan, though. It's pretty much the worst graphics API out there, and WebGPU is mimicking outdated Vulkan design decisions that even Vulkan is currently outphasing, like render passes and static pipelines.

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

#112
post #81

Earlier quoted context omitted.

Indeed, and a well regarded WebGPU guide is also trending on the front page at the same time :P The "universal" nature of WebGPU with the "web" focus feels a lot like the graphics API equivalent of WASM. In that regard there are also some interesting projects/opportunities.

"The "universal" nature of WebGPU with the "web" focus feels a lot like the graphics API equivalent of WASM" Having shipped non-trivial WASM code in two projects That's not a positive thing. WASM is stuck in zone between living and the dead - just good enough (barely) to merit creating production code when you need the perf in browser but not good enough to register as industrial quality tool as it's not possible rea…

Actually, at least on Chromium it's possible to use Dwarf debugging symbols in debugging your wasm files. It's a little tricky because the documentation isn't that clear but I've ran programs through that and it works. Also there a vscode extension (which I prefer over using vs the browser devtools). If you have that it's basically like using any other debugger in vscode (including CodeLLDB) only you launch the browser when you're debugging it.

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

#113

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…

There's no need to pay for questionable courses. Here's an excellent free alternative that covers all the basics:

https://haqr.eu/tinyrenderer/

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

#114

The one and only Holy Bible of Graphics Programming. If you're starting to learn computer graphics, just study through the entire site and do the examples one by one. It doesn't matter one bit that it uses a slightly outdated API called OpenGL - you're supposed to learn how to render things first, not about some weird obscure hardware / driver details! After you've learned it, you can start learning CUDA if you want…

> but the game industry is imploding right now...

Why is that? Is it because of AI automating many steps of game creation?

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

#115

The one and only Holy Bible of Graphics Programming. If you're starting to learn computer graphics, just study through the entire site and do the examples one by one. It doesn't matter one bit that it uses a slightly outdated API called OpenGL - you're supposed to learn how to render things first, not about some weird obscure hardware / driver details! After you've learned it, you can start learning CUDA if you want…

>The one and only Holy Bible of Graphics Programming. The textbooks Real Time Rendering and Physically Based Rendering are far more deserving of such claims.

Note that I've used the term "Graphics Programming" rather than just "Computer Graphics".

The RTR book doesn't teach you the programming side of things at all, the material is more theoretical and reads more like a reference book. Most importantly it doesn't have any examples with full source code, so it's not a friendly book to follow for beginners. The PBR book is much better in this regard, but it mainly focuses on offline ray tracing / path tracing which is bit of a distinct topic from conventional real-time rendering on the GPU.

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

#116
post #46

Earlier quoted context omitted.

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.

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

I meant understand the Vulkan-specific minutiae of setting everything up for either graphics or compute. There's an order of magnitude or two more of it than for OpenGL, and lots of tutorials seem to skip it and focus on the graphics. I'd like to understand what all that setup does and why it's done a particular way.

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

#117

The one and only Holy Bible of Graphics Programming. If you're starting to learn computer graphics, just study through the entire site and do the examples one by one. It doesn't matter one bit that it uses a slightly outdated API called OpenGL - you're supposed to learn how to render things first, not about some weird obscure hardware / driver details! After you've learned it, you can start learning CUDA if you want…

The best selling game of all time (Minecraft) is basically GL 1.1. You really don't need much.

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

#118
post #70

Earlier quoted context omitted.

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

> OpenGL never was a big thing on game consoles. I've never tried developing anything for a 3D-capable console, but I've always had the feeling that their graphics APIs are bespoke, thin abstraction layers on top of the raw graphics hardware just so you don't have to poke the GPU registers directly.

Yes, they are quite low level, hence how painful Vulkan happens to be, as its design was driven by console vendors feedback, and based on Mantle, basically AMD trying to make a PC API close to how modern consoles work.

https://github.com/sigmaco/mantle-docs

https://ir.amd.com/news-events/press-releases/detail/466/amd...

While there have some support, Playstation 3 had OpenGL ES 1.0 with Cg for shading, Wii had a GL like API with GLSL subset, and SWitch does support GL 4.6/Vulkan, they were never fully adopted by devs, rather favouring the native ones.

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

#119
post #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.

Except that Vulkan is the classic guitar here, you will suffer with it before your first triangle while with OpenGL you can jam almost instantly.

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

#120

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…

There's no need to pay for questionable courses. Here's an excellent free alternative that covers all the basics: https://haqr.eu/tinyrenderer/

The author of this course is among the best professors I’ve had back in university, I’m happily surprised to see his work shared here
Post reply on HN