1.
Spectrum PointLight::Sample_L(const Scene *scene, const LightSample &ls,
float u1, float u2, float time, Ray *ray, Normal *Ns,
float *pdf) const {
*ray = Ray(lightPos, UniformSampleSphere(ls.uPos[0], ls.uPos[1]),
0.f, INFINITY, time);
*Ns = (Normal)ray->d;
*pdf = UniformSpherePdf();
return Intensity;
}Spectrum PointLight::Sample_L(cons