declare const _default: "\nuniform exposure: f32;\n\n// ACES approximation by Stephen Hill\n\n// sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\nconst ACESInputMat: mat3x3f = mat3x3f(\n    vec3f(0.59719, 0.35458, 0.04823),\n    vec3f(0.07600, 0.90834, 0.01566),\n    vec3f(0.02840, 0.13383, 0.83777)\n);\n\n// ODT_SAT => XYZ => D60_2_D65 => sRGB\nconst ACESOutputMat: mat3x3f = mat3x3f(\n    vec3f( 1.60475, -0.53108, -0.07367),\n    vec3f(-0.10208,  1.10813, -0.00605),\n    vec3f(-0.00327, -0.07276,  1.07602)\n);\n\nfn RRTAndODTFit(v: vec3f) -> vec3f {\n    let a: vec3f = v * (v + vec3f(0.0245786)) - vec3f(0.000090537);\n    let b: vec3f = v * (vec3f(0.983729) * v + vec3f(0.4329510)) + vec3f(0.238081);\n    return a / b;\n}\n\nfn toneMap(color: vec3f) -> vec3f {\n    var c: vec3f = color * (uniform.exposure / 0.6);\n    c = ACESInputMat * c;\n\n    // Apply RRT and ODT\n    c = RRTAndODTFit(c);\n    c = ACESOutputMat * c;\n\n    // Clamp to [0, 1]\n    return clamp(c, vec3f(0.0), vec3f(1.0));\n}\n";
export default _default;
