What is LearnOpenGL.com?
Updated
LearnOpenGL.com is a free online book and tutorial resource for learning modern OpenGL (core-profile). It is aimed at beginners with no prior graphics programming experience, but it also works as a reference for later study. The content is written in English, and the site also offers a code repository and community translations.
What the site covers
The tutorial is organized as a progressive book rather than a loose collection of articles. According to the site's own table of contents, the material spans:
- Getting started — OpenGL basics, creating a window, the "Hello Window" and "Hello Triangle" examples, shaders, textures, transformations, coordinate systems, and a camera.
- Lighting — colors, basic lighting, materials, lighting maps, light casters, and multiple lights.
- Model loading — using Assimp, meshes, and models.
- Advanced OpenGL — depth testing, stencil testing, blending, face culling, framebuffers, cubemaps, and advanced data handling.
- Advanced lighting — gamma correction, shadows (shadow mapping, point shadows), normal mapping, parallax mapping, HDR, bloom, deferred shading, SSAO, and PBR (theory, lighting, IBL).
- In practice — debugging, text rendering, and a full 2D game project ("Breakout") covering setup, rendering, sprites, levels, collisions, particles, postprocessing, powerups, and audio.
- Guest articles and newer topics — including order-independent transparency, skeletal animation, cascaded shadow maps, scene graphs, frustum culling, tessellation, compute shaders, and area lights.
Who it is for
The site states its goal directly: to present modern OpenGL in an easy-to-understand way with clear examples, while remaining useful as a reference. It positions itself against other OpenGL resources that focus only on immediate mode (the old OpenGL), are incomplete, or lack proper documentation.
If you prefer step-by-step instructions and clear examples rather than being dropped into a mass of detail, this resource is designed for that reading style. The chapters assume no graphics programming background.
Why it exists
The author's stated motivation is that most OpenGL material online is either outdated (immediate mode), incomplete, or poorly documented. LearnOpenGL aims to be both complete and approachable, covering basics, intermediate, and advanced knowledge using modern core-profile OpenGL.
Practical notes
- The site is supported partly by advertising; it asks visitors running AdBlock to consider whitelisting it, but does not require it.
- A code repository accompanies the tutorials, and translations into other languages are available.
- The content is English-language.
How to decide if it fits you
| Your situation | Fit |
|---|---|
| New to graphics programming, want a structured path | Strong — the book starts from window creation and builds up |
| Already know old/immediate-mode OpenGL, want modern core-profile | Strong — the whole book targets modern OpenGL |
| Looking for a quick API reference rather than a course | Partial — it is written as a book, though usable for later reference |
| Want a complete project to learn from | Yes — the Breakout game chapters walk through a full 2D game |
If you want a single, self-contained path from "I have never written a shader" to advanced rendering techniques, start at the beginning and work through the chapters in order. If you already have a specific gap — say, shadow mapping or PBR — the table of contents lets you jump directly to that section.