Skip to main content

Hi, in the release notes for the latest release, under Bugs fixed, we have:

For scattering in non-sequential mode with both transmission and reflection .BSDF files specified for each surface, a restriction was removed that had limited the sum of both transmitted and reflected total integrated scatter to a total of 1.0. This restriction could have caused some cases to have improperly allocated power for split rays.

Can you give us more details of this? What is happening to conservation of energy?

Hi Mark,

Thanks for the question! Hope you’re doing well.

The update to the BSDF behavior was to adjust a prior handling where pairs of transmission/reflection BSDF values applied to the same surface was checked to be less than or equal to 1.0 -- if not, the TIS values for reflection and transmission were re-normalized to 1.0.

One instance where this became an issue was if we had a ray hitting a surface which would split the power of the input ray 50/50 via a coating and also had a BRDF and BTDF file applied to it. If the BRDF/BTDF file each had TIS values of 1.0 for all scatter data with the Scatter Fraction to 1.0 (so 100% of the specular energy goes into the scattered directions), the sum of the TIS values from each file would be 2.0. This would get renormalized to 1.0 (meaning each TIS now became 0.5), and this resulted in the total reflected and transmitted scattered ray energy to instead be each 25% of the input ray’s energy. With this update, the above scenario now outputs 50% of the input energy in the total transmission scattered energy and 50% in the total reflection scattered energy.

I hope this clears up the behavior but let us know if you have any more questions on this -- thanks again!


That’s great, thanks Angel!


Reply