- Allow multi-window with independent contexts
- Input system exposed to the user Unity-Like
- Lights loaded as UBO
- Efficient UBO updating using glBufferSubData and caching with unordered_map
- Cached uniforms locations.
- Add ASSIMP to support many data filetypes; specially FBX, DAE, DXF, BVH and glTF.
- Material abstraction.
- Define draw workflow and responsibilities between Renderable, Shader and Texture.
- Entitiy Component System; a.k.a. Data oriented design.
- Indirection layer for gpu render to allow the use of OpenGL, Vulkan, DX11/12 or Metal transparently.
- BindGuard for ensure to un/bind a resource based on scope, following RAII idiom.
- Issues when a pointer-copy is passed.