25 lines
482 B
GLSL
25 lines
482 B
GLSL
/**
|
|
* @file gammaF.glsl
|
|
*
|
|
* Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
|
|
* $License$
|
|
*/
|
|
|
|
uniform vec4 gamma;
|
|
|
|
vec3 getAtmosAttenuation();
|
|
|
|
/// Soft clips the light with a gamma correction
|
|
vec3 scaleSoftClip(vec3 light) {
|
|
//soft clip effect:
|
|
light = 1. - clamp(light, vec3(0.), vec3(1.));
|
|
light = 1. - pow(light, gamma.xxx);
|
|
|
|
return light;
|
|
}
|
|
|
|
vec3 fullbrightScaleSoftClip(vec3 light) {
|
|
return mix(scaleSoftClip(light.rgb), light.rgb, getAtmosAttenuation());
|
|
}
|
|
|