= Assignment 4 Discussion = Don't hesitate to ask questions. Q1: The first question says "L(phi, theta) = cos(theta) when theta > PI/2 and L(phi, theta) = 0 otherwise." Shouldn't this be for theta < PI/2, so that it's cosine-weighted hemisphere sampling, which is more appropriate here? If theta > PI / 2, the arrangement doesn't make much sense - the luminance would be negative! And Shouldn't we also be weighting by the cos(theta) term in the radiance function (or is this already implied)? I agree (PaulTarjan) === A1: === It should be {{{theta < PI/2}}}. It was a mistake in the assignment and has now been fixed. The intent of the question was for you to sample with respect to {{{L = cos(theta)}}}, which is exactly what {{{infinitesample.cpp}}} does. However, it is true that the integral you are estimating does contain an additional term {{{cos(theta)}}}. In this case, it is possible to analytically sample with respect to more than just the value of {{{L}}}. If you choose to do this, please state so explicitly. Q2: I've extracted the "string sample" parameter from the paramter set in directlighting.cpp, but how do I access this data when I'm doing the re-weighting in transport.cpp? Can I just cast around the Light * object? (BillDwyer)