Notes: Bug from last time: Silly! So NOW can we build a tower? Sure, no problem But the texture coordinates aren't there yet How about stairs? We'll have to set the effective floor Quick trick function for that Not-in-class adjustments (pull out improved demo): I added strafe James already did it in lab, but now it's in the main version Threads are actually wrapped up shutdown flag and join FPS and such should now be in the GUI With Dear ImGUI Height and width are queried from glfw glViewport needs to be called Initial call is probably during setup somewhere ImGUI is set up, but not really used yet escape will free the mouse so we can use the menu I wanted to set it up ahead of time Shall we have a demo of how to use it? Let's display FPS instead of dumping it to the console Maybe some other stuff too, like player position engine.h contains everything that's all the way global key_status, player position, etc. Non-thread-safe general buffer StoneBlock inherits from GameObject GameObject will contain general functions like init_from_object Requires draw and movement to be goverridden