We now have shadows properly working, I accidentally tried to clear frame buffers before I had bound them. I also added in some code to update all the model matrices every frame, so now all the models show changes in rotation/scale/transformation appropriately. The issues with materials was resolved by updating the dungeon models to use the correct shared material.