I don’t mean the naive pathtracer implementation by “division by PDF to generate the first intersection point”.
Do your path tracing implementation (both with and without NEE) take the “PDF to generate the first intersection point” into account? That PDF is a PDF to generate a primary ray from a camera.
No, I'm not taking this PDF into account. In PBRT this weight is always set to 1, right? Or is this another PDF you are talking about?
If I understand you correctly, by omitting this PDF in the pathtracer I need an additional weigh in the lightracer, right?
The PDF of sampling a point on lens doesn’t contain factors like the area of image plane.
Factors like the area of image plane are contained in the PDF to generate a primary ray.
Quoting PBRT again, are you talking about the following
PDF?
Code: Select all
*pdf = (dist * dist) / (AbsDot(lensIntr.n, *wi) * lensArea);
As you say, there is no area of the image plane involved. But in the next line We() is called, which does include the image plane area, so I thought that I effectively need both.
Empirical results show, that I do need the image plane ratio in there somehow. Maybe because I don't consider it for primary rays?
Additionally I noticed the reconstruction filter also affects the brightness with the lighttracer. EDIT: This is probably because my filter function is not normalized.