playcanvas
Version:
PlayCanvas WebGL game engine
26 lines (23 loc) • 884 B
JavaScript
var anisotropyPS = `
uniform float material_anisotropyIntensity;
uniform vec2 material_anisotropyRotation;
void getAnisotropy() {
dAnisotropy = 0.0;
dAnisotropyRotation = vec2(1.0, 0.0);
dAnisotropy = material_anisotropyIntensity;
dAnisotropyRotation = material_anisotropyRotation;
vec3 anisotropyTex = texture2DBias({STD_ANISOTROPY_TEXTURE_NAME}, {STD_ANISOTROPY_TEXTURE_UV}, textureBias).rgb;
dAnisotropy *= anisotropyTex.b;
vec2 anisotropyRotationFromTex = anisotropyTex.rg * 2.0 - vec2(1.0);
mat2 rotationMatrix = mat2(dAnisotropyRotation.x, dAnisotropyRotation.y, -dAnisotropyRotation.y, dAnisotropyRotation.x);
dAnisotropyRotation = rotationMatrix * anisotropyRotationFromTex;
dAnisotropy = clamp(dAnisotropy, 0.0, 1.0);
}
`;
export { anisotropyPS as default };