Binding Data To Shaders

Plumbing data to shaders has got to be one of the least fun tasks in all of graphics programming. Let's talk about it.