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?