UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

3 lines (2 loc) 1.14 kB
declare const _default: "\n #ifdef GRADING\n uniform brightnessContrastSaturation: vec3f;\n uniform tint: vec3f;\n\n // for all parameters, 1.0 is the no-change value\n fn colorGradingHDR(color: vec3f, brt: f32, sat: f32, con: f32) -> vec3f {\n // tint\n var colorOut = color * uniform.tint;\n\n // brightness\n colorOut = colorOut * brt;\n\n // saturation\n let grey = dot(colorOut, vec3f(0.3, 0.59, 0.11));\n let normalizedGrey = grey / max(1.0, max(colorOut.r, max(colorOut.g, colorOut.b))); // Normalize luminance in HDR to preserve intensity\n colorOut = mix(vec3f(normalizedGrey), colorOut, sat);\n\n // contrast\n return mix(vec3f(0.5), colorOut, con);\n }\n\n fn applyGrading(color: vec3f) -> vec3f {\n return colorGradingHDR(color, \n uniform.brightnessContrastSaturation.x, \n uniform.brightnessContrastSaturation.z, \n uniform.brightnessContrastSaturation.y);\n }\n #endif\n"; export default _default;