Our great sponsors
-
LearnOpenGL
Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
To get up to speed on modern GL, check out https://learnopengl.com/, it's the universally recommended learning source for a beginner. Once you're comfortable with 4.x and have your game working, you may want to check out "AZDO" (approaching zero driver overhead) techniques described in this GDC talk. This is basically a technique for offloading as much of the graphics work to the GPU as possible, and can get you enormous performance speedups. This is roughly the paradigm that Vulkan uses to achieve its high performance, but GL doesn't prevent you from doing it either.
Personally I use wgpu-native. It can sit on top of Vulkan and Metal. It gets rid of crappy parts from OpenGL such as global state, binding objects. It also implicitly handles tough parts of Vulkan such as synchronization or memory management. Also, this implementation is in Rust, but it exposes a C header, so it's very easy to integrate it into other languages (I use it from D with no issues).
If you're ok with using rust you can use wgpu which is the higher level wrapper for wgpu-native. It removes some of the boiler plate.