adjust shader loading

move shader loading to game object so that it only happens once