Lfant is a small (so far) 3D game engine, rendered using OpenGL. It will be primarily aimed toward action games, but able to conform to other genres. The code uses an Entity-Component model, a bit like Unity3D, where Entities have a list of Components that they can access at any given time. These components "add" functionality to the owner Entity (albeit not directly). Examples of Components are Rigidbody, HeatTransfer, Inventory, MeshRenderer, ParticleSystem. The intent of use for this system is that most of the time you won't have super specific entities, only child or grandchild classes, but have many components that can be added, removed, or even swapped between Entities, at runtime. I am also using the Bullet physics engine (with some modifications here and there), a portion of Boost, GLEW, GLFW, GLM, Squirrel (scripting language), and TinyXML2.
Features
- Modern OpenGL Rendering w/ VBO(s) and FBO(s)
- Entity-Component architecture model