pex-renderer
Version:
Physically Based Renderer for Pex
23 lines (19 loc) • 540 B
JavaScript
module.exports = /* glsl */ `
float A = 0.15;
float B = 0.50;
float C = 0.10;
float D = 0.20;
float E = 0.02;
float F = 0.30;
float W = 11.2;
vec3 Uncharted2Tonemap(vec3 x) {
return ((x * (A * x + C * B) + D * E) / (x * (A * x + B) + D * F)) - E / F;
}
// Based on Filmic Tonemapping Operators http://filmicgames.com/archives/75
vec3 tonemapUncharted2(vec3 color) {
float ExposureBias = 2.0;
vec3 curr = Uncharted2Tonemap(ExposureBias * color);
vec3 whiteScale = 1.0 / Uncharted2Tonemap(vec3(W));
return curr * whiteScale;
}
`