当前位置: 代码迷 >> 综合 >> NaN and infinity literals not allowed by shader model 错误解决方法
  详细解决方案

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

热度:1   发布时间:2023-12-06 04:14:32.0

 

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

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

 

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

 

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

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

  相关解决方案