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;