playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
19 lines (18 loc) • 590 B
JavaScript
var falloffInvSquared_default = `
float getFalloffWindow(float lightRadius, vec3 lightDir) {
float sqrDist = dot(lightDir, lightDir);
float invRadius = 1.0 / lightRadius;
return square(saturate(1.0 - square(sqrDist * square(invRadius))));
}
float getFalloffInvSquared(float lightRadius, vec3 lightDir) {
float sqrDist = dot(lightDir, lightDir);
float falloff = 1.0 / (sqrDist + 1.0);
float invRadius = 1.0 / lightRadius;
falloff *= 16.0;
falloff *= square(saturate(1.0 - square(sqrDist * square(invRadius))));
return falloff;
}
`;
export {
falloffInvSquared_default as default
};