Skip to content

Latest commit

 

History

History
94 lines (61 loc) · 3.8 KB

File metadata and controls

94 lines (61 loc) · 3.8 KB

README

About The Project

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.

Features

  • 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

Previews

1 - Simple model. Source: Quake 1's player.mdl

2 - Skeletal animation. Source: Bob.md5mesh

3 - Multiple skins. Source: MyModelLoaderImpl's 3D cube.

Project Scope

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.

Supported Platforms

  • Windows 11

Documentation

Built With

Building The Code

See building instructions.

Contributing

See contribution guidelines.

License

See license.

Acknowledgments

Thanks to the following resources for templates, guides and or general structural inspiration.

Asset Sources