A personal OpenGL learning playground written in C++.
This repository contains small, isolated OpenGL examples and exercises implemented while following
LearnOpenGL (https://learnopengl.com/).
The main goal of this project is to build a solid intuition about graphics programming fundamentals by working on focused, minimal examples instead of large frameworks or engines.
This is a learning playground, not a game engine or reusable framework.
- Standalone OpenGL examples (triangle, RGB interpolation, square with EBO, exercises, etc.)
- Each example focuses on one core concept
- A simple console runner to switch between examples easily
- Built using CMake with dependencies managed via vcpkg
GraphicsProgramming_Playground_OpenGL/
├─ examples/ # OpenGL sample programs (each builds into its own executable)
├─ notes/ # Personal learning notes
├─ run.ps1 # Console runner (one window at a time)
├─ CMakeLists.txt
└─ README.md
🧰 Dependency Setup (vcpkg)
1) Install vcpkg (one time)
cd C:\
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
2) Install required libraries
.\vcpkg.exe install glfw3 glad
For x64 explicitly:
.\vcpkg.exe install glfw3:x64-windows glad:x64-windows
🏗️ Build Instructions
From the repository root:
cmake -S . -B out/build `
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build out/build
▶️ Running the Examples
.\run.ps1
📚 Learning Source
This project follows the structure and exercises from:
LearnOpenGL
https://learnopengl.com/
Examples are reimplemented manually to better understand:
buffer management
vertex attributes
shaders
draw calls
basic OpenGL state handling