No reason to think all images are 256x256
Split apart the texture shader more.

Break out the major bits for subclasses to reuse.