readme
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#version 330 core
|
||||
out vec4 FragColor;
|
||||
|
||||
in vec2 TexCoords;
|
||||
|
||||
uniform sampler2D screenTexture;
|
||||
uniform sampler2D bloomTexture;
|
||||
uniform float bloomStrength = 0.0f;
|
||||
uniform float brightness = 0.0f;
|
||||
uniform float colorContrast = 0.0f;
|
||||
uniform float saturation = 1.0f;
|
||||
uniform float exposure = 1.0f;
|
||||
|
||||
vec3 ACESFilm(vec3 x)
|
||||
{
|
||||
const float a = 2.51;
|
||||
const float b = 0.03;
|
||||
const float c = 2.43;
|
||||
const float d = 0.59;
|
||||
const float e = 0.14;
|
||||
return clamp((x * (a * x + b)) / (x * (c * x + d) + e), 0.0, 1.0);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
// Added before tonemapping, while everything is still in HDR
|
||||
vec3 originalcolor = texture(screenTexture, TexCoords).rgb
|
||||
+ texture(bloomTexture, TexCoords).rgb * bloomStrength;
|
||||
vec3 finalcolor = ACESFilm(originalcolor * exposure);
|
||||
|
||||
const float gamma = 2.2;
|
||||
finalcolor = pow(finalcolor, vec3(1.0 / gamma));
|
||||
|
||||
finalcolor = mix(finalcolor,vec3(1.0f) - finalcolor,colorContrast);
|
||||
|
||||
float average = (finalcolor[0]+finalcolor[1]+finalcolor[2])/3.0f;
|
||||
|
||||
finalcolor = mix(vec3(average), finalcolor, saturation);
|
||||
|
||||
FragColor = vec4(finalcolor,1.0f);
|
||||
}
|
||||
Reference in New Issue
Block a user