refactor headers putting public scope first
remove old (unused) shader loading code
add copy constructor to Block & Renderable
add variable initialization that was mysteriously lost
16-block world working! yay :D
The problem lay in the copying of Block objects, since all the copies share the same shader program; when the 16 copies are made of the initial Block and then it is destroyed, the shader being shared by all the Blocks is destroyed along with it.
put text on the z-plane
I always want text rendered on top of everything (it's as close to a GUI as I've gotten for now), so putting it on the z-plane makes sense – not sure why it wasn't there before.