シェーダーって普通何種類も作って、
プログラム側でマテリアル毎に割り当てたりするの?

自分で作るときは一種類だけ作って、
パラメーター変更だけ適用してるけど・・・。