1

我正在使用#defines,我根据程序状态将运行时传递给我的着色器源,以优化我的巨大着色器以降低复杂性。我想将优化的着色器写入文件,这样下次我运行程序时,我不必再次传递#defines,但我可以在程序启动期间直接编译优化的着色器,因为现在我知道什么样的着色器了按程序需要。

有没有办法从着色器预处理器中获取结果?我当然可以将#define 值存储到一个文件中,并基于该文件在程序启动期间编译着色器,但这不会那么优雅。

4

1 回答 1

0

使用 C 预处理器预处理着色器源。

例如,GCC 有一个仅预处理源的选项,并将中间结果保存在另一个文件中,使用定义预处理器符号的选项,您将得到想要的结果。

于 2010-03-27T15:05:01.147 回答