Skip to content

LearnOpenGL

Introduction

LearnOpenGL is widely recognized as the best OpenGL tutorial for beginners, written by Joey de Vries. The tutorial starts from the most basic triangle rendering and gradually advances to advanced topics like PBR, deferred rendering, and shadow mapping.

The tutorial's greatest strength is that every concept comes with corresponding code examples — you can learn by doing, building a complete rendering engine from scratch. The tutorial uses C++ and OpenGL, and a Chinese version is available, making it very accessible for Chinese readers.

LearnOpenGL covers the core content of modern OpenGL (3.3+), including: OpenGL basics, lighting models, model loading, anti-aliasing, and advanced OpenGL techniques. After completing this tutorial, you'll be capable of real-time rendering with OpenGL.

Prerequisites

  • C++ basics: Familiarity with C++ syntax including classes, pointers, and STL containers
  • Basic linear algebra: Fundamental concepts of matrices and vectors (no deep knowledge required; the tutorial includes a review)
  • Basic computer graphics concepts: Understanding of the rendering pipeline, framebuffers, etc.

Difficulty

🌟🌟🌟 (Intermediate)

The beginner portion is very friendly; advanced topics (PBR, deferred rendering) are more challenging.

Estimated Study Hours

Approximately 60-80 hours

  • Foundations: ~20 hours
  • Lighting and materials: ~15 hours
  • Advanced topics: ~25-45 hours

Resources

Self-Study Tips

  1. Always write code. The core of this tutorial is hands-on practice. After each chapter, run the code immediately, then try modifying parameters and observing the changes.

  2. Don't skip the foundational chapters. The early chapters (OpenGL basics, shaders, textures) may seem simple, but they are the foundation for all advanced topics.

  3. Understand every stage of the rendering pipeline. From vertex input to fragment output — what each stage does and how data flows — this is the most core knowledge in graphics.

  4. Combine with your Godot experience. Godot 4 also uses OpenGL/Vulkan rendering under the hood. After learning LearnOpenGL, you'll better understand Godot's rendering pipeline and shader system.

  5. Pair with 3Blue1Brown's linear algebra. If your math foundation isn't solid, start with 3Blue1Brown's Essence of Linear Algebra series.