@@ -0,0 +1,5 @@
+float decodeFloatRGBA(vec4 rgba) {
+ return dot(rgba, vec4(1.0, 1/255.0, 1/65025.0, 1/16581375.0));
+}
+
+#pragma glslify: export(decodeFloatRGBA)
@@ -0,0 +1,8 @@
+vec4 encodeFloatRGBA(float v) {
+ vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * v;
+ enc = frac(enc);
+ enc -= enc.yzww * float4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);
+ return enc;
+#pragma glslify: export(encodeFloatRGBA)