我可以看到着色器预处理器输出吗?

时间:2009-06-04 19:43:17

标签: preprocessor shader

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

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

1 个答案:

答案 0 :(得分:0)

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

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