A basic OpenGL 4.6 starter project that you can use as a base.
Motivation: Over the years, I created various 'test' applications for experimenting OpenGL but they were hardly reusable since they were 'specific' and made for a one-time use. In addition, some weren't using new functionalities found in latest OpenGL versions. Then came the day where a new test appllication was needed (again). Rather than re-making something specific, I decided to create a 'clean and well made' reusable template for myself, and hopefully for others who want to quickly experience stuff without first having to write/re-write the usual 'boilerplate' code.
- Modern OpenGL functionalities (DSA, bindless textures, etc.)
- Navigate and look around (FPS camera style)
- Supports loading various model formats (uses Assimp)
- Skeletal-based animation (max 200 bones and 4 bone weights per vertex)
- Displays bones and their names
- Multiple skins/textures per mesh
- Basic diffuse lighting
- Wireframe overlay
- HUD messages (uses ImGui)
- Tick-based updates (based on your primary monitor's refresh rate)
- Extendable model loading through interface
1 - Simple model. Source: Quake 1's player.mdl
2 - Skeletal animation. Source: Bob.md5mesh
3 - Multiple skins. Source: MyModelLoaderImpl's 3D cube.
The goal of this project is to serve as a basic and simple starter project. It is not meant to expand and become a universal, fully-fledged advanced OpenGL application.
I made this project first and foremost for myself to have a template application to use for future OpenGL experiments. For now, the project can be considered finished as the current features suffice me but I could eventually add new features if I ever need to.
Issues and pull requests: It's important to understand that this project is not a priority for me. You may submit issues and/or pull requests but they might or might not be addressed/merged. In any case, you are free to fork the repository and make improvements beyond the current project scope.
- Windows 11
See license.
Thanks to the following resources for templates, guides and or general structural inspiration.
- Learn OpenGL (Tutorials and references)
- ogldev.org (Tutorial 38)
- Best README Template
- Keep a Changelog
- ValveSoftware/halflife's code of conduct
- assets/models/error/error.obj (decompiled from Source SDK 2006's error.mdl)
- assets/textures/null.png


