rtx: add reinhard tonemapping
This commit is contained in:
parent
985ea278f8
commit
0a05adaabc
|
@ -31,6 +31,14 @@ vec3 aces_tonemap(vec3 color){
|
|||
return clamp(m2 * (a / b), 0.0, 1.0);
|
||||
}
|
||||
|
||||
vec3 reinhard(vec3 color){
|
||||
return color / (color + 1.0);
|
||||
}
|
||||
|
||||
vec3 reinhard02(vec3 c, vec3 Cwhite2) {
|
||||
return c * (1. + c / Cwhite2) / (1. + c);
|
||||
}
|
||||
|
||||
float normpdf2(in float x2, in float sigma) { return 0.39894*exp(-0.5*x2/(sigma*sigma))/sigma; }
|
||||
float normpdf(in float x, in float sigma) { return normpdf2(x*x, sigma); }
|
||||
|
||||
|
@ -122,7 +130,8 @@ void main() {
|
|||
// TODO: should be dynamic based on previous frames brightness
|
||||
colour *= 4.;
|
||||
|
||||
colour = aces_tonemap(colour);
|
||||
//colour = aces_tonemap(colour);
|
||||
colour = reinhard02(colour, vec3(400.));
|
||||
|
||||
imageStore(dest, pix, vec4(colour, 0.));
|
||||
//imageStore(dest, pix, imageLoad(src_diffuse_gi, pix));
|
||||
|
|
Loading…
Reference in New Issue