bool isinf(float x);
bool isinf(vec2 x);
bool isinf(vec3 x);
bool isinf(vec4 x);
GLSL的isinf()
函数用于判断给定参数是否为正无穷或负无穷。该函数返回布尔类型 true
或 false
。
+∞
或-∞
,则返回 true
。false
。函数的输入参数可以是以下任何数据类型 :
请注意,如果输入参数为NaN,则返回值也为false
。
isinf()函数返回布尔值 true
或 false
。
float x = 1.0/0.0; // x为+∞
bool inf = isinf(x); // 返回true
float y = -1.0/0.0; // y为-∞
bool inf1 = isinf(y); // 返回true
float z = 100.0; // z不是无穷大
bool inf2 = isinf(z); // 返回false
vec4 vector = vec4(1.2, 3.0, -1.5, 0.0);
vec4 result = isinf(vector); // 返回vec4(false, false, false, false)
isinf()
函数即使在计算表达式时使用也是有效的。isinf()
函数将按元素方式操作,即对于每个参数向量中的元素,该函数将返回一个相应的true
或false
值。