-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace blue-light-filter's code. #12
Comments
I get this when I run // from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
const float temperature = 2600.0;
const float temperatureStrength = 1.0;
#define WithQuickAndDirtyLuminancePreservation
const float LuminancePreservationFactor = 1.0;
// function from https://www.shadertoy.com/view/4sc3D7
// valid from 1000 to 40000 K (and additionally 0 for pure full white)
vec3 colorTemperatureToRGB(const in float temperature) {
// values from:
// http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693
mat3 m = (temperature <= 6500.0)
? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),
vec3(0.0, 1669.5803561666639, 2575.2827530017594),
vec3(1.0, 1.3302673723350029, 1.8993753891711275))
: mat3(vec3(1745.0425298314172, 1216.6168361476490,
-8257.7997278925690),
vec3(-2666.3474220535695, -2173.1012343082230,
2575.2827530017594),
vec3(0.55995389139931482, 0.70381203140554553,
1.8993753891711275));
return mix(
clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) +
m[2]),
vec3(0.0), vec3(1.0)),
vec3(1.0), smoothstep(1000.0, 0.0, temperature));
}
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
// RGB
vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]);
#ifdef WithQuickAndDirtyLuminancePreservation
color *= mix(1.0,
dot(color, vec3(0.2126, 0.7152, 0.0722)) /
max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5),
LuminancePreservationFactor);
#endif
color = mix(color, color * colorTemperatureToRGB(temperature),
temperatureStrength);
vec4 outCol = vec4(color, pixColor[3]);
gl_FragColor = outCol;
} What is the source/rationale behind your formatting? |
Manually formatted the code for making it more readable. This issue can safely be closed. PS: Let me know what you think of this shader config. :)
It looked good for saving people's eyes from strain (keeping vibrancy), so I felt the need to share. Thanks for this amazing utility. |
We can better call it a It's desirable by people who use What are the drawbacks with
What this filter does:
Thanks loqusion. |
Just to clarify, does |
|
Here's the latest code for the filter:
variable |
Please replace the code below with blue-light-shader.glsl. This one is properly formatted.
The text was updated successfully, but these errors were encountered: