OpenGL Sandbox
Platform to explore OpenGL and the graphics pipeline
Overview
A personal sandbox environment for learning and experimenting with OpenGL. The project serves as to document my progress understanding the graphics pipeline, from basic triangle rendering to camera systems and shader programming.
Technologies
- C++
- OpenGL 4.x
- SDL2
- GLAD
- ImGui
- GLM
Architecture
The project is structured as a collection of self-contained demos, each exploring a different graphics concept. A simple ImGui interface allows switching between demos and tweaking parameters in real-time.
Topics Explored
- VAO/VBO setup and vertex attribute configuration
- Shader compilation and uniform management
- Camera systems
- Matrix projections
- Basic lighting models
Technical Challenges
- Debugging VAO/VBO binding issues
- Understanding the OpenGL state machine
Lessons Learned
- OpenGL's implicit state makes debugging difficult — explicit validation helps
- Definitely patience more than anything, graphics programming is a difficult but rewarding endeavour
Demos
Cube rendering:
Lighting: