第１引数、第３引数、nullでも良いなら引数の順番がおかしい。引数は重要度順に定義された方が良いと思う。

この引数もShaderGenerator::Compile()のfileNameと同じで実処理に関係しないものであれば、引数に設定しない方が良いと思う。
エラーログを出す処理をこのメソッド外で行う方が良いと思う。