function CalcDiffuseTransferSH()

Hi there.




FTwoBandSHVector CalcDiffuseTransferSH(half3 Normal, half Exponent) {

	FTwoBandSHVector Result = SHBasisFunction(Normal);


	// These formula are scaling factors for each SH band that convolve a SH with the circularly symmetric function
	// max(0,cos(theta))^Exponent

	half L0 = 2 * PI / (1 + 1 * Exponent);
	half L1 = 2 * PI / (2 + 1 * Exponent);

	// Multiply the coefficients in each band with the appropriate band scaling factor.

	Result.V.x *= L0;
	Result.V.yzw *= L1;

	return Result;
}


Anyone can explain why we need to multiply the coefficients? What is scaling factor?