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)