// from "limited" to "full" signal range //!PARAM black //!TYPE float 0.0625 //!PARAM white //!TYPE float 0.91796875 //!PARAM depth //!TYPE float 10.0 //!HOOK OUTPUT //!BIND HOOKED //!DESC signal range scaling (inverse) float range_inv(float x, float w, float b) { return (x - b) / (w - b); } vec3 range_inv(vec3 x, float w, float b) { return (x - b) / (w - b); } vec4 hook() { vec4 color = HOOKED_tex(HOOKED_pos); float l = exp2(depth); float d = l - 1.0; float b = l * black / d; float w = l * white / d; color.rgb = range_inv(color.rgb, w, b); return color; }