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