playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 1.65 kB
TypeScript
declare const _default: "\nfn addLightMap(\n lightmap: vec3f,\n dir: vec3f,\n worldNormal: vec3f,\n viewDir: vec3f,\n reflectionDir: vec3f,\n gloss: f32,\n specularity: vec3f,\n vertexNormal: vec3f,\n tbn: mat3x3f\n#if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel: vec3f,\n iridescenceIntensity: f32\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 = dDiffuseLight + lightmap;\n } else {\n let vlight: f32 = saturate(dot(dir, -vertexNormal));\n let flight: f32 = saturate(dot(dir, -worldNormal));\n let nlight: f32 = (flight / max(vlight, 0.01)) * 0.5;\n\n dDiffuseLight = dDiffuseLight + lightmap * nlight * 2.0;\n\n let halfDir: vec3f = normalize(-dir + viewDir);\n var specularLight: vec3f = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n\n #ifdef LIT_SPECULAR_FRESNEL\n\n specularLight = 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 = dSpecularLight + specularLight;\n }\n\n #else // non-directional lightmap\n\n dDiffuseLight = dDiffuseLight + lightmap;\n\n #endif\n}\n";
export default _default;