playcanvas
Version:
PlayCanvas WebGL game engine
4 lines (2 loc) • 961 B
JavaScript
var aoSpecOccPS = "\n#if LIT_OCCLUDE_SPECULAR != NONE\n #ifdef LIT_OCCLUDE_SPECULAR_FLOAT\n uniform float material_occludeSpecularIntensity;\n #endif\n#endif\nvoid occludeSpecular(float gloss, float ao, vec3 worldNormal, vec3 viewDir) {\n #if LIT_OCCLUDE_SPECULAR == AO\n #ifdef LIT_OCCLUDE_SPECULAR_FLOAT\n float specOcc = mix(1.0, ao, material_occludeSpecularIntensity);\n #else\n float specOcc = ao;\n #endif\n #endif\n #if LIT_OCCLUDE_SPECULAR == GLOSSDEPENDENT\n float specPow = exp2(gloss * 11.0);\n float specOcc = saturate(pow(dot(worldNormal, viewDir) + ao, 0.01*specPow) - 1.0 + ao);\n #ifdef LIT_OCCLUDE_SPECULAR_FLOAT\n specOcc = mix(1.0, specOcc, material_occludeSpecularIntensity);\n #endif\n #endif\n #if LIT_OCCLUDE_SPECULAR != NONE\n dSpecularLight *= specOcc;\n dReflection *= specOcc;\n #ifdef LIT_SHEEN\n sSpecularLight *= specOcc;\n sReflection *= specOcc;\n #endif\n #endif\n}\n";
export { aoSpecOccPS as default };