UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

3 lines (2 loc) 824 B
declare const _default: "\n\nfn addReflectionSheen(worldNormal: vec3f, viewDir: vec3f, gloss: f32) {\n let NoV: f32 = dot(worldNormal, viewDir);\n let alphaG: f32 = gloss * gloss;\n\n // Avoid using a LUT and approximate the values analytically\n let a: f32 = select(\n -8.48 * alphaG + 14.3 * gloss - 9.95,\n -339.2 * alphaG + 161.4 * gloss - 25.9,\n gloss < 0.25\n );\n let b: f32 = select(\n 1.97 * alphaG - 3.27 * gloss + 0.72,\n 44.0 * alphaG - 23.7 * gloss + 3.26,\n gloss < 0.25\n );\n let dg_add: f32 = select(\n 0.1 * ( gloss - 0.25 ),\n 0.0,\n gloss < 0.25\n );\n let dg: f32 = exp( a * NoV + b ) + dg_add;\n sReflection = sReflection + (calcReflection(worldNormal, 0.0) * saturate(dg));\n}"; export default _default;