declare const _default: "\nfn refract2(viewVec: vec3f, normal: vec3f, IOR: f32) -> vec3f {\n    let vn: f32 = dot(viewVec, normal);\n    let k: f32 = 1.0 - IOR * IOR * (1.0 - vn * vn);\n    let refrVec: vec3f = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n    return refrVec;\n}\n\nfn addRefraction(\n    worldNormal: vec3f,\n    viewDir: vec3f,\n    thickness: f32,\n    gloss: f32,\n    specularity: vec3f,\n    albedo: vec3f,\n    transmission: f32,\n    refractionIndex: f32,\n    dispersion: f32\n#if defined(LIT_IRIDESCENCE)\n    , iridescenceFresnel: vec3f,\n    iridescenceIntensity: f32\n#endif\n) {\n    // use same reflection code with refraction vector\n    let tmpRefl: vec4f = dReflection;\n    let reflectionDir: vec3f = refract2(-viewDir, worldNormal, refractionIndex);\n    dReflection = vec4f(0.0);\n    addReflection(reflectionDir, gloss);\n    dDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n    dReflection = tmpRefl;\n}\n";
export default _default;
