Using the normal BRDF without the normalization factor the result on a flat cube surface looks like this:
Now using the NormalizationFactor it becomes this:
Using this Code:
// Calculate Normalization Factor for Energy Conserving BRDF float NormalizationFactor = (material.SpecularPower + 8) / (8 * PI); // Calculate N dot H float NH = NormalizationFactor * pow(saturate(dot(N, H)), material.SpecularPower);
So my specular reflection has gotten quite a lot bigger plus it seems to have lost its attenuation somehow.
Is that the correct result of using an energy conservative BRDF ?
Also by using this factor the term "Specular Intensity" as a material property becomes unnecessary I presume ?