2017-08-09 72 views

回答

1

我建议使用GLSL功能mixstep

mix根据在[0.0,1.0]范围内的浮点内插值a在2个值之间内插。如果a等于0.0,则返回第一个值,如果a等于1.0,则返回第二个值。

step测试值是否小于边缘值。如果小于0.0则返回,否则返回1.0。

如果结合2个功能代码如下所示:

vec2 minx(vec2 a, vec2 b) 
{ 
    return mix(a, b, step(b.x, a.x)); 
} 

注,step结果是要么恰好0.0或正好1.0,这也会导致mix或者返回的第一个值或返回第二个值。

+0

令人惊叹!谢谢。 – vuoriov4

相关问题