UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

3 lines (2 loc) 1.54 kB
declare const _default: "\nvoid addLightMap(\n vec3 lightmap, \n vec3 dir, \n vec3 worldNormal, \n vec3 viewDir, \n vec3 reflectionDir, \n float gloss, \n vec3 specularity, \n vec3 vertexNormal, \n mat3 tbn\n#if defined(LIT_IRIDESCENCE)\n vec3 iridescenceFresnel, \n float iridescenceIntensity\n#endif\n) {\n\n // directional lightmap\n #if defined(LIT_SPECULAR) && defined(LIT_DIR_LIGHTMAP)\n\n if (dot(dir, dir) < 0.0001) {\n dDiffuseLight += lightmap;\n } else {\n float vlight = saturate(dot(dir, -vertexNormal));\n float flight = saturate(dot(dir, -worldNormal));\n float nlight = (flight / max(vlight, 0.01)) * 0.5;\n\n dDiffuseLight += lightmap * nlight * 2.0;\n\n vec3 halfDir = normalize(-dir + viewDir);\n vec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n\n #ifdef LIT_SPECULAR_FRESNEL\n\n specularLight *= \n getFresnel(dot(viewDir, halfDir), \n gloss, \n specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n iridescenceIntensity\n #endif\n );\n #endif\n\n dSpecularLight += specularLight;\n }\n\n #else // non-directional lightmap\n\n dDiffuseLight += lightmap;\n\n #endif\n}\n"; export default _default;