getSpotAttenuation( builder ) {

		const penumbraCos = this.penumbraCosNode;
		const spotLightCoord = this.getLightCoord( builder );
		const coord = spotLightCoord.xyz.div( spotLightCoord.w );

		const boxDist = sdBox( coord.xy.sub( vec2( 0.5 ) ), vec2( 0.5 ) );
		const angleFactor = div( -1, sub( 1.0, acos( penumbraCos ) ).sub( 1.0 ) );
		const attenuation = saturate( boxDist.mul( -2 ).mul( angleFactor ) );

		return attenuation;

	}
Overwrites the default implementation to compute projection attenuation.

@param {NodeBuilder} builder - The node builder.
@return {Node<float>} The spot attenuation.