Ok, my apologies. Your explanation clarified it very well.
I mixed conservation/preservation and unintentionally hacked the thread
to conserve or to preserve are the same. Either way, E_out should be the same as E_in (except for whatever is absorbed due to your objects’ color).
You can most easily test for energy loss by maxing out roughness (technically you are best served with a diffuse shader in that case, but ideally GGX would sorta fall into looking diffuse by that time)
GGX will have a lot of energy loss whereas mGGX will not.
Another very good test for both energy loss and energy creation is the Furnace Test where you put a perfectly white (RGB = 111) sphere into a world that is a uniform white emitter (also RGB = 111). Ideally, your object should be invisible. If it’s darker, you are losing energy, if it’s brighter, you are gaining too much. This test should be relatively easy to do and pretty clear also for roughnesses below 1.
This should show you both the correctly handled Fresnel in PV2 and the difference that multiscattering makes for GGX
@lukasstockner97
I think keeping physically correct (saturation increase) result is reasonable especially when material relies heavily on roughness map and there are big differences in roughness values. In such cases lack of saturation increase will be very visible.
For example how to create “physically correct” plant leafs without principled node?
Does anyone know when Principled V2 will land in the Blender 4 alpha builds? Very much looking forward to that.