GLSL 内置函数

uintBitsToFloat()

将无符号整数位模式解释成浮点数。

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

函数签名

genType uintBitsToFloat(genUType x)

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

参数

x
输入值或左侧向量

返回值

一个浮点数或浮点向量,其位模式来自输入中对应的无符号整数分量。

在线示例

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

uintBitsToFloat 做什么

将无符号整数位模式解释成浮点数。

看懂预览

uintBitsToFloat(1065353216u) 解码得到 1.0,并非十亿量级的浮点数。改用 1056964608u 会得到 0.5,水平线随之降低。

核心调用

uintBitsToFloat(1065353216u);

保留位模式,不是把这个大整数换算成浮点数值。

修改实验

把参数改为 3212836864u。其符号位使解码值成为 -1.0;虽然输入是无符号整数,结果线仍会移到画面底边。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数