- Setup renderer
- Misc. utilities
- Common structs
- Math utilities
- Debugging utilities (logging)
- Smart pointer utilities
- Investigate not using smart pointers for engine stuff since it's usually simpler
- Profiling/Performance
- Traps
- Re-organize folder structure in engine
- Implement renderer
- Make renderer more accessible from game
- Model loading
- Separate model class
- Model textures
- Proper rendering w/ transforms
- Move transform setting code into model code
- Camera class
- Specify initial state (Reference Oasis game engine?)
- Remove polymorphism from Application class?
- Remove two project setup (too many headaches)
- Quaternions (yay!)
- Lighting
- Setup ImGui
- ImGui text input not working
- Basic core engine info ImGui window
- Resource system
- Texture resource
- Remove unnecessary namespaces
- Terrain setup
- Properly orient terrain + allow multiple terrain pieces
- Heightmap
- Heightmap optimizations
- Don't use png for file storage
- Terrain manager
- Move to better folder location - graphicsUtils/graphicsToolbox
- Get height of terrain
- Raycast onto terrain
- Raycast working on multiple terrains
- Fog system
- Skybox
- Integrate console system
- Command system
- Character in game
- Character controller (movement)
- Character controller (camera rotation)
- Camera rotation in up/down axis as well
- Character moves with terrain (not necessarily physics based)
- Entity system
- Day night system
- Update shader lights as well
- Terrain editor
- Ray cast from mouse to terrain
- Draw circle around mouse position on terrain
- Clean up namespace clutter
- Expose window from engine (width/height, etc...)
- Get rid of smart pointer ( I HATE SMART POINTERS )
- Concept explorations
- Digital painted splash art
- Learn 3d modelling
- Character model
- Tree model
- General game design
- Re-organize TODOs to be more categorized