UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

3 lines (2 loc) 1.03 kB
declare const _default: "\n#ifdef LIT_GGX_SPECULAR\n uniform material_anisotropyIntensity: f32;\n uniform material_anisotropyRotation: vec2f;\n#endif\n\nfn getAnisotropy() {\n dAnisotropy = 0.0;\n dAnisotropyRotation = vec2f(1.0, 0.0);\n\n#ifdef LIT_GGX_SPECULAR\n dAnisotropy = uniform.material_anisotropyIntensity;\n dAnisotropyRotation = uniform.material_anisotropyRotation;\n#endif\n\n#ifdef STD_ANISOTROPY_TEXTURE\n let anisotropyTex: vec3f = textureSampleBias({STD_ANISOTROPY_TEXTURE_NAME}, {STD_ANISOTROPY_TEXTURE_NAME}Sampler, {STD_ANISOTROPY_TEXTURE_UV}, uniform.textureBias).rgb;\n dAnisotropy *= anisotropyTex.b;\n\n let anisotropyRotationFromTex: vec2f = anisotropyTex.rg * 2.0 - vec2f(1.0);\n let rotationMatrix: mat2x2f = mat2x2f(dAnisotropyRotation.x, dAnisotropyRotation.y, -dAnisotropyRotation.y, dAnisotropyRotation.x);\n dAnisotropyRotation = rotationMatrix * anisotropyRotationFromTex;\n#endif\n\n dAnisotropy = clamp(dAnisotropy, 0.0, 1.0);\n}\n"; export default _default;