NaN and infinity literals not allowed by shader model 错误解决方法

 

一般情况下发生在FX编写的时候,

特别注意以下情况pow(max(0, f), e),这句话会存在一个问题就是当max(0,f)的值为0时,将出现pow(0,e),而实际上对于这个幂次是没有意义的,所以会出现报错,可以修改此方法,或者使用多项式展开,或者使用更简单的办法,比如将0改为0.00001f,即

 

pow(max(0.00001f,f),e).

 

这样一般都能够解决问题了。

补充:shader中如果出现非法的运算,可能就会出现这种错误,比如除0之类的。

你可能感兴趣的:(NaN and infinity literals not allowed by shader model 错误解决方法)