2009-06-04 4 views
1

プログラム状態に基づいてシェーダソースにランタイムを渡す#definesを使用して、巨大なシェーダをより複雑にならないように最適化しています。最適化されたシェーダをファイルに書きたいので、次にプログラムを実行するときに#defineを再度渡す必要はありませんが、プログラムの起動時に最適化されたシェーダを直接コンパイルすることはできます。プログラムのニーズによって。シェーダプリプロセッサの出力を確認できますか?

シェーダプリプロセッサの結果を得る方法はありますか?私はもちろん#defineの値をファイルに保存して、それに基づいてプログラムの起動時にシェーダをコンパイルすることができますが、これはエレガントではありません。

答えて

0

シェーダソースをCプリプロセッサで前処理します。

たとえば、GCCにはソースのみの前処理オプションがあり、中間結果は別のファイルに保存されます。プリプロセッサシンボルを定義するオプションを使用すると、結果が得られます。

+0

私はdownvoteの理由を知りたいです!どんな議論? – Luca

+0

これは古い質問ですが、あなたの答えはかなり有効です。理由は分かりません – greenboxal

関連する問題