Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
The problem was an index out of bounds problem where end would be -1.
This worked on all Configurations but "Release" for me. Somehow the compiler flag /Ob (Inline Function Expansion) on level 2 did something different than on level 1. (Test was working on level 1)
The access to lambdaIn[-1] returned -nan in "Release" (with /Ob2) but an tiny tiny value in all other Configurations.
I just made sure that end should never be smaller than null. Now all tests seem to work.
I didn't investigate further what the EXACT problem was, this would take too long for me now. If anyone knows the itty bitty details, please let me know.
I debugged and tested this with VS2019 16.1.3.
The problem was an index out of bounds problem where end would be -1. This worked on all Configurations but "Release" for me. Somehow the compiler flag /Ob (Inline Function Expansion) on level 2 did something different than on level 1. (Test was working on level 1) The access to lambdaIn[-1] returned -nan in "Release" (with /Ob2) but an tiny tiny value in all other Configurations. I just made sure that end should never be smaller than null. Now all tests seem to work.
I didn't investigate further what the EXACT problem was, this would take too long for me now. If anyone knows the itty bitty details, please let me know.
Cheers, Stefan