playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 884 B
TypeScript
declare const _default: "\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n float roughness = sqrt(1.0 - min(gloss, 1.0));\n\n vec2 direction = dAnisotropyRotation;\n vec3 anisotropicT = normalize(tbn * vec3(direction, 0.0));\n vec3 anisotropicB = normalize(cross(tbn[2], anisotropicT));\n\n float anisotropy = dAnisotropy;\n vec3 anisotropicDirection = anisotropicB;\n vec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n vec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n float bendFactor = 1.0 - anisotropy * (1.0 - roughness);\n float bendFactor4 = bendFactor * bendFactor * bendFactor * bendFactor;\n vec3 bentNormal = normalize(mix(normalize(anisotropicNormal), normalize(worldNormal), bendFactor4));\n dReflDirW = reflect(-viewDir, bentNormal);\n}\n";
export default _default;