HLSL error X3025 的问题
这段时间在用 AMD RenderMonkey 研究某个图形效果。结果发现当循环出现 3 层嵌套时,编译一次巨慢无比,大概要 1 分多钟。而且即使我选了“ Prefer Flow Control ”,也是把循环给我展开了 (SM3.0 ,显示梯度指令 tex2Dlod) 。强制使用 [loop] 属性虽然可以,但编译时间还是很长很长 …
今天实在是受不了,把 RenderMonkey 从 1.71 更新到 1.82 ,一编译马上出现一个错误:
error X3025: global variables are implicitly constant, enable compatibility mode to allow modification
fxc 是 RenderMonkey 调用的,你让我怎么改兼容模式?于是 Google 之,原来是新版 DX (fxc) 不再允许在 shader 中修改全局变量,改之。重新编译,居然只花了几秒钟!爽!
最后小声说一句: RenderMonkey 其实比 FX Composer 好用 …