Arthur Amezcua
4730867
fattony@stanford.edu
cs348b
Programming Project 3

I was able to get part 1 of the assignment working.  My implementation of
sampling the light source produced images with nice soft shadows when I
put some blockers in the scene -- I was pleased with this part.  Briefly,
I implemented Sphere::Sample() so that it returned the probability of
selecting a small region around a point (1/(4*PI*r*r)) and so that it set
the hitInfo for the sphere (the point on the sphere, the normal at this
point, the parametric values for the point on this sphere).  I also
implemented the part of the monte carlo integrator that handles
integrating over the area light source.  For each light source, I choose a
random location on the light and then get the dE from that point if the
point being shaded is visible to that point on the light.  I then do the
same for all the other samples on the light and then average the dE values
as the estimator of the integral.


I attempted to get part 2, sampling the BRDF function, to work but I was
unsuccessful.  I think I added all the functionality I needed to, but I
think I just didn't have the correct values for things like the pdf and
the estimator.  If you run my lrt on a rib file that sets the integrator
over the BRDF, you can see the light source, but nothing else.  I guess it
is possible I didn't set the .rib file up correctly.


Of course I didn't get to part 3.
