Key to fixing multiple textures: put glTexImage2D AFTER glBindTexture.