playcanvas
Version:
PlayCanvas WebGL game engine
4 lines (2 loc) • 707 B
JavaScript
var tonemappingAces2PS = "\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n 0.59719, 0.35458, 0.04823,\n 0.07600, 0.90834, 0.01566,\n 0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n 1.60475, -0.53108, -0.07367,\n -0.10208, 1.10813, -0.00605,\n -0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n vec3 a = v * (v + 0.0245786) - 0.000090537;\n vec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n return a / b;\n}\nvec3 toneMap(vec3 color) {\n color *= exposure / 0.6;\n color = color * ACESInputMat;\n color = RRTAndODTFit(color);\n color = color * ACESOutputMat;\n color = clamp(color, 0.0, 1.0);\n return color;\n}\n";
export { tonemappingAces2PS as default };