working on my own 3d game engine for learning purposes