プログラムの状態に基づいてランタイムをシェーダーソースに渡す#definesを使用して、巨大なシェーダーを最適化して複雑さを軽減しています。最適化されたシェーダーをファイルに書き込みたいので、次にプログラムを実行するときに#definesを再度渡す必要はありませんが、プログラムの起動時に最適化されたシェーダーを直接コンパイルできます。これで、シェーダーの種類がわかりました。プログラムのニーズによって。
シェーダープリプロセッサーから結果を取得する方法はありますか?もちろん、#define値をファイルに保存し、それに基づいてプログラムの起動時にシェーダーをコンパイルすることはできますが、それはそれほどエレガントではありません。