GLSL 内置函数
isinf()
逐分量检测正或负无穷。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
genBType isinf(genType x)genType 表示 float / vec2 / vec3 / vec4;同名占位符须使用相同类型。
参数
- x
- 输入值或左侧向量
返回值
一个 bool 或布尔向量:正、负无穷大对应 true,其他值对应 false。
在线示例
修改右侧代码,左侧预览会实时更新。
isinf 做什么
逐分量检测正或负无穷。
看懂预览
isinf(x) 的所有输入都有限,因此绘出的结果恒为零。把 x 改成 x*1000.0 后仍是有限值,背景不会因此改变。
核心调用
float(isinf(x));
有限大数不是无穷;制造除零的测试并不保证跨设备结果一致。
修改实验
把 float(isinf(x)) 改成 1.0-float(isinf(x))。结果会处处为 1,这样可显示有限值判断的反面,无需依赖除零运算。