标签: opengl opengl-es glsl
我一直想知道GLSL中sqrt(num)是否等于sqrt(abs(num))。这正是这个函数在this shader中的表现。我无法找到有关此行为的任何文档或参考。在此着色器中,会形成一个单位圆,sqrt内的值对于圆的外部像素为负,但结果就像abs在应用sqrt之前一样。
sqrt(num)
sqrt(abs(num))
sqrt
abs
答案 0 :(得分:5)
根据the spec
sqrt返回x的平方根。即值√x。如果x <0,结果未定义。
这意味着任何事情都可能发生,但有些实现会忽略参数上的符号位并返回正数。
答案 1 :(得分:0)
Docs回答了这些类型的问题:
如果x <0,则结果未定义。