The returned value is directly assigned to some_vertex.pdfFwd. Since pdfFwd field in the vertex should store density defined in area measure for MIS uses. Some implementation of Pdf_Le (which returns pdf_pos and is directly used in PdfLightOrigin) also indicate this, for example, diffusive area source returns pdf_pos = 1 / Area().
Upon first reading this, I directly implemented PdfLightOrigin to return solid angle density for all light sources, but latter I think it doesn't make any sense... Could this be a mistake? Like, it were copy-pasted from the introduction of infinite light source procedure above?
In PBR-book chapter 16.3, when the book is introducing the function
PdfLightOrigin
, it says:The returned value is directly assigned to
some_vertex.pdfFwd
. SincepdfFwd
field in the vertex should store density defined in area measure for MIS uses. Some implementation ofPdf_Le
(which returnspdf_pos
and is directly used inPdfLightOrigin
) also indicate this, for example, diffusive area source returnspdf_pos = 1 / Area()
. Upon first reading this, I directly implementedPdfLightOrigin
to return solid angle density for all light sources, but latter I think it doesn't make any sense... Could this be a mistake? Like, it were copy-pasted from the introduction of infinite light source procedure above?