stuff
This commit is contained in:
@@ -4,6 +4,8 @@ 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;
|
||||
@@ -21,21 +23,19 @@ vec3 ACESFilm(vec3 x)
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 originalcolor = texture(screenTexture, TexCoords).rgb;
|
||||
// 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));
|
||||
|
||||
vec3 contrast = vec3(1.0f) - finalcolor;
|
||||
|
||||
finalcolor = mix(finalcolor,vec3(1.0f) - finalcolor,colorContrast);
|
||||
|
||||
float average = (finalcolor[0]+finalcolor[1]+finalcolor[2])/3.0f;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
finalcolor[i] = average + saturation * (finalcolor[i] - average);
|
||||
}
|
||||
finalcolor = mix(vec3(average), finalcolor, saturation);
|
||||
|
||||
FragColor = vec4(finalcolor,1.0f);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user