# JoeyDeVries/LearnOpenGL

Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com

Repository: https://github.com/JoeyDeVries/LearnOpenGL
Canonical: https://ross.abutalabs.com/products/learnopengl
Homepage: https://learnopengl.com
Language: C++
License: NOASSERTION
License Family: other
Last push: 2024-08-06T15:57:52+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4181, "days_push": 757, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 12600, forks 2956 (observed 2026-08-28T04:10:59.396156+00:00)

## What it is
The official code repository for the LearnOpenGL book and website, containing C++ sample code for every chapter covering modern core-profile OpenGL. It spans basics like windows, shaders, and textures through advanced topics such as PBR, shadow mapping, deferred shading, and a 2D Breakout game.

## Use cases
- learn modern OpenGL from scratch with runnable examples
- understand GLSL shaders and the graphics pipeline
- implement lighting, shadows, and PBR in OpenGL
- load 3D models with Assimp in C++
- build a simple 2D game with sprites and collisions
- reference sample code while writing my own renderer

## When to choose
- you want a well-regarded, structured tutorial with complete working code
- you are learning core-profile OpenGL on Windows, Linux, or macOS
- you need reference implementations of advanced rendering techniques

## When to avoid
- you need a production graphics engine or framework rather than educational samples
- you target Vulkan, DirectX, or Metal instead of OpenGL
- you want a permissive license for copying code into products (license is non-standard)

## Facets
- artifact type: learning-resource
- maturity: stable
- function: graphics, game-engine, developer-tools
- domain: graphics, tutorials, education
- platform: cross-platform, windows, cpp
- tags: opengl, glsl, shaders, 3d-graphics, cmake, glfw, pbr, sample-code, game-development, linux, macos

## Member repositories
- JoeyDeVries/LearnOpenGL (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:59.396156+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:13:56.192698+00:00, confidence not recorded.
  - readme: https://github.com/JoeyDeVries/LearnOpenGL (fetched 2026-08-28T04:10:59.396156+00:00, sha 333a54c5da5e)
  - homepage: https://learnopengl.com (fetched 2026-08-29T08:10:35.064215+00:00, sha c7508f6da5dd)
  - site_page: https://learnopengl.com/Getting-started/Creating-a-window (fetched 2026-08-29T08:10:35.075838+00:00, sha 129181cead8f)
  - site_page: https://learnopengl.com/Getting-started/Hello-Window (fetched 2026-08-29T08:10:35.077936+00:00, sha 7e705378a291)
  - site_page: https://learnopengl.com/Getting-started/Hello-Triangle (fetched 2026-08-29T08:10:35.080126+00:00, sha dd19d07e5e7f)
  - site_page: https://learnopengl.com/Getting-started/Shaders (fetched 2026-08-29T08:10:35.083220+00:00, sha b8ec6ce42459)
  - site_page: https://learnopengl.com/Getting-started/Textures (fetched 2026-08-29T08:10:35.085608+00:00, sha 2565bbc99511)
  - site_page: https://learnopengl.com/Getting-started/Transformations (fetched 2026-08-29T08:10:35.088145+00:00, sha 71a1a7350583)
  - site_page: https://learnopengl.com/Getting-started/Coordinate-Systems (fetched 2026-08-29T08:10:35.090951+00:00, sha a13207c9b935)
  - site_page: https://learnopengl.com/Getting-started/OpenGL (fetched 2026-08-29T08:10:35.073595+00:00, sha 0ab911bdc556)
- Data as of 2026-08-30T08:39:29.467469+00:00.
