in fact the real goal is not to make a perfect shader, but rather to make a successful shader~~~~~~~~~~yessssss~