GLSL 内置函数

greaterThanEqual()

逐分量比较大于或等于。

示例版本:GLSL ES 1.00 / WebGL 1示例阶段:片段

函数签名

bvec2 greaterThanEqual(vec2 x, vec2 y)
bvec3 greaterThanEqual(vec3 x, vec3 y)
bvec4 greaterThanEqual(vec4 x, vec4 y)
bvec2 greaterThanEqual(ivec2 x, ivec2 y)
bvec3 greaterThanEqual(ivec3 x, ivec3 y)
bvec4 greaterThanEqual(ivec4 x, ivec4 y)

参数

x
输入值或左侧向量
y
右侧向量或比较值

返回值

逐分量表示 x 是否大于或等于 y 的布尔向量。

在线示例

修改右侧代码,左侧预览会实时更新。

greaterThanEqual 做什么

逐分量比较大于或等于。

看懂预览

greaterThanEqual(vec2(x,y),vec2(0.0)).x 把 x = 0 也算入右侧区域。把界限改成 vec2(-0.5),成立区域会向左扩大。

核心调用

float(greaterThanEqual(vec2(x,y),vec2(0.0)).x);

与 greaterThan 的差别只发生在相等的边界上。

修改实验

把第一个向量改成 vec2(0.0),第二个仍为 vec2(0.0)。相等也满足大于等于,因此全画面成立;若改用严格的 greaterThan,则会全为 false。

规范

GLSL ES 1.00 built-in functions, chapter 8

相关函数