GLSL 内置函数
trunc()
向零截断整数部分。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
genType trunc(genType x)genType 表示 float / vec2 / vec3 / vec4;同名占位符须使用相同类型。
参数
- x
- 输入值或左侧向量
返回值
逐分量返回向零截断的整数部分,仍以输入的浮点类型保存。
在线示例
修改右侧代码,左侧预览会实时更新。
trunc 做什么
向零截断整数部分。
看懂预览
trunc(x*4.0)/4.0 在两侧都向零截断,中央因此有一段较宽的零平台。把两处 4.0 都改成 2.0,中央平台会进一步变宽。
核心调用
trunc(x*4.0)/4.0;
负数时不同于 floor,例如 -1.8 变 -1。
修改实验
把 trunc(x*4.0)/4.0 换成 floor(x*4.0)/4.0 作比较。负数半边会下移,因为 floor 向负无穷取整,而 trunc 向零截断。