PathIntegrator::computeRadianceRecurse() is the main function we call at every node of the ray tree. Over the past decade it has become unmanageably large and complex, and has presented a barrier to making enhancements, simplifications and optimisations to moonray. The goal of the present task is to begin to reverse this trend by making a relatively light and unintrusive simplification pass on the code to clarity the structure and eliminate redundancy.
PathIntegrator::computeRadianceRecurse() is the main function we call at every node of the ray tree. Over the past decade it has become unmanageably large and complex, and has presented a barrier to making enhancements, simplifications and optimisations to moonray. The goal of the present task is to begin to reverse this trend by making a relatively light and unintrusive simplification pass on the code to clarity the structure and eliminate redundancy.