GLSL 内置函数

floatBitsToInt()

按原始位模式将浮点数解释成有符号整数。

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

函数签名

genIType floatBitsToInt(genType x)

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

参数

x
输入值或左侧向量

返回值

保存输入浮点位模式的有符号整数或整数向量,不是把浮点数按数值转成整数。

在线示例

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

floatBitsToInt 做什么

按原始位模式将浮点数解释成有符号整数。

看懂预览

floatBitsToInt(1.0)==1065353216 处处成立,因此背景颜色一致。只把 1.0 改为 2.0,保留原整数,比较结果就会变为 false。

核心调用

float(floatBitsToInt(1.0)==1065353216);

与 int(x) 的数值转换不同;示例验证 1.0 的标准位模式。

修改实验

把输入改为 2.0,同时把比较整数 1065353216 改为 1073741824。新整数对应 2.0 的位模式,背景会恢复为条件成立的颜色。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数