GLSL 内置函数
modf()
同时返回带符号小数部分并输出整数部分。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
genType modf(genType x, out genType integerPart)genType 表示 float / vec2 / vec3 / vec4;同名占位符须使用相同类型。
参数
- x
- 输入值或左侧向量
- integerPart
- 输出的整数部分
返回值
返回 x 带符号的小数部分,整数部分写入 integerPart;两者保留 x 的符号与类型。
在线示例
修改右侧代码,左侧预览会实时更新。
modf 做什么
同时返回带符号小数部分并输出整数部分。
看懂预览
modf(x*4.0,integerPart) 绘出带符号的小数斜坡,左侧结果为负。把 4.0 改成 2.0,斜坡归零的次数会减半。
核心调用
modf(x*4.0,integerPart);
小数部分与原数同号,区别于始终非负的 fract。
修改实验
在 modf 调用后加上 result=integerPart/4.0;。预览会从小数斜坡切换为阶梯,显示通过 out 参数写出的整数部分。