问题:角色的模型,在开启MSAA后,某些视角下会出现模型网格黑线的问题。
经过很多尝试后,最终的问题锁定在Shader中Pow函数的计算上。
Pow函数的效率低下,每一遍的运算都会丢失精度,这会导致一些边界值,比如一个向量点击运算接近0或者1的数值,在计算过程中由于精度丢失比较严重出现数值越界问题。
曲线解决方式是将运算的参数+/-上一个较小的浮点数值,在一定程度上抵消运算过程中的精度丢失。但是这样并不能保证一定会消失。
如果计算Pow函数的幂为常数,那么直接自己实现Pow函数即可。
至于为什么这个问题在开启MSAA后才会出现,需要研究一下MSAA的具体实现方式。