playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
26 lines (25 loc) • 982 B
JavaScript
var anisotropy_default = `
uniform material_anisotropyIntensity: f32;
uniform material_anisotropyRotation: vec2f;
fn getAnisotropy() {
dAnisotropy = 0.0;
dAnisotropyRotation = vec2f(1.0, 0.0);
dAnisotropy = uniform.material_anisotropyIntensity;
dAnisotropyRotation = uniform.material_anisotropyRotation;
let anisotropyTex: vec3f = textureSampleBias({STD_ANISOTROPY_TEXTURE_NAME}, {STD_ANISOTROPY_TEXTURE_NAME}Sampler, {STD_ANISOTROPY_TEXTURE_UV}, uniform.textureBias).rgb;
dAnisotropy *= anisotropyTex.b;
let anisotropyRotationFromTex: vec2f = anisotropyTex.rg * 2.0 - vec2f(1.0);
let rotationMatrix: mat2x2f = mat2x2f(dAnisotropyRotation.x, dAnisotropyRotation.y, -dAnisotropyRotation.y, dAnisotropyRotation.x);
dAnisotropyRotation = rotationMatrix * anisotropyRotationFromTex;
dAnisotropy = clamp(dAnisotropy, 0.0, 1.0);
}
`;
export {
anisotropy_default as default
};