uintBitsToFloat
uintBitsToFloat
按位重解释:将 `uint` 或 `uvecN` 的比特模式直接视为 `float` 或 `vecN`,不做数值转换,输出分量数与输入一致。
核心优势
零开销的类型再解释,便于从整型纹理/缓冲中还原 IEEE‑754 浮点值,立即接入标准浮点着色管线。
常见用途
从 R32UI/RGBA32UI 数据纹理或 SSBO 中还原 IEEE‑754 浮点数
与 `floatBitsToUint` 组合实现可逆的浮点打包/传输
将 `uvecN` 数据恢复为 `vecN` 以继续参与常规浮点计算
如何调整
输入接受 `uint` 或 `uvecN`,输出为 `float/vecN`,分量数由输入决定。该操作仅重解释位模式,不进行算术转换,结果可能为 NaN/Inf。需要反向时使用 `floatBitsToUint`;若源为有符号整数,使用 `intBitsToFloat`。
代码示例
1<Canvas>
2 <mesh>
3 <sphereGeometry args={[0.4, 128, 128]} />
4 <meshStandardNodeMaterial
5 colorNode={
6 vec3(
7 uintBitsToFloat(
8 uint( 0x3F800000 ) // 1.0f 的位模式
9 )
10 )
11 }
12 />
13 </mesh>
14</Canvas>