`sqrt`如何表现GLSL中的负值?

Abh*_*sal 2 opengl opengl-es glsl

我一直想知道GLSL sqrt(num)是否相等sqrt(abs(num)).这正是此函数在此着色器中的行为方式.我无法找到有关此行为的任何文档或参考.在这个着色器中,形成一个单位圆,并且sqrt对于圆的外部像素,内部值为负,但结果abs似乎在应用之前已经采用sqrt.

rat*_*eak 6

根据规范

sqrt返回xie的平方根,值√x.如果x <0,则结果未定义.

这意味着任何事情都可能发生,但有些实现只会忽略参数上的符号位并返回正数.