GLSL 内置函数

roundEven()

最近整数舍入,半整数取相邻偶数。

示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段

函数签名

genType roundEven(genType x)

genType 表示 float / vec2 / vec3 / vec4;同名占位符须使用相同类型。

参数

x
输入值或左侧向量

返回值

逐分量返回最接近 x 的整数值,类型仍为浮点;恰好居中时选择偶数。

在线示例

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

roundEven 做什么

最近整数舍入,半整数取相邻偶数。

看懂预览

roundEven(x*4.0)/4.0 生成间隔为四分之一的台阶。把两处比例因子都改成 8.0,台阶数量会加倍,高度则减半。

核心调用

roundEven(x*4.0)/4.0;

2.5 变 2,3.5 变 4,负数也按相同规则。

修改实验

依次用 roundEven(2.5)/4.0 和 roundEven(3.5)/4.0 作为结果。前者绘出 y = 0.5,后者绘出 y = 1,直接显示中间值向偶数舍入的规则。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数