38 lines
621 B
GLSL
38 lines
621 B
GLSL
// from "full" to "limited" 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
|
|
|
|
float range(float x, float w, float b) {
|
|
return x * (w - b) + b;
|
|
}
|
|
|
|
vec3 range(vec3 x, float w, float b) {
|
|
return x * (w - b) + 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(color.rgb, w, b);
|
|
|
|
return color;
|
|
}
|