For simplicity, assume we're only dealing with surfaces which have either a Lambertian or perfectly specular material. Morever, assume that the only type of lights are area lights (i.e. surfaces with an emissive material) and we stop tracing at lights.

In path tracing, we start by tracing a ray from the eye through a random point on the area of the view plane corresponding to the $i$th pixel. Now, depending on the BRDF of the hitted surface, we choose either a uniformly distributed direction on the hemisphere over the normal at the hit point (in the case of a Lambertian surface) or the direction of perfect mirror reflection (in the case of a perfectly specular surface). This process stops, when either no surface or a surface with an emissive material (i.e. an area light) was hit.

Quesiton 1: Now, PSSMLT constructs a sequence $(X_n)_{n\in\mathbb N}\subseteq[0,1]$. Actually, it's even clear to me how this sequence is modified by small step and large step modifications. However, what are the components $X_n$ exactly? Are $(X_1,X_2)$ the (normialized) coordinates of the randomly chosen area of the view plane corresponding to a pixel? If so, which pixel? And what is $(X_3,X_4)$? Maybe randomly chosen points on a unit square which need to be mapped to the hemisphere of the corresponding hit point? If so, we would need to store the normal and the BRDF together with $(X_3,X_4)$, don't we? And what if the surface which was hit has a perfectly specular material? Are then $(X_3,X_4)$ simply ignored?

Question 2: I've read that initial sequence $(X_n)_{n\in\mathbb N}$ is chosen by approximating the "luminance of path contribution" which is said to be independent of the pixel. I don't get that at all. And I have no idea how it is approximated by using path tracing.

  1. PSSMT operates directly on the space of random numbers that generate valid light paths. As such, mutations in the unit hypercube lose their physical interpretation since they do not have direct knowledge of the actual light path constructed. Recent research in rendering has shown that it is possible to bridge the gap between path space (that acts directly on the paths) and primary sample space (that acts on uniform variates) to some extent. See Bitterli 2018, Pantaleoni 2017 and Otsu 2017 if that interests you.

  2. I am not entirely sure what you mean here, but typically an initial path of length $k$ will be formed using path tracing, and thus random numbers will be used along the way ($k+2$ if you are using BDPT). PSSMLT will mutate this path by acting only on the random numbers. Path throughput is indeed independent of the pixel but you only care about paths actually reaching the eye. At the end of the day, you are importance sampling paths according to their contribution to the final image, and luminance is what is commonly used.

  • $\begingroup$ With your answer to question 1, I still have no idea how and for what these random numbers are used. $\endgroup$ – 0xbadf00d Sep 4 '18 at 6:30
  • $\begingroup$ @0xbadf00d how do you construct paths from random scattering events? When you are uniformly sampling a direction in the unit hemisphere, you need two canonical random numbers $\xi_1,\xi_2 \in (0,1)$. These are your random numbers. You need these $\xi_i$'s for any non-deterministic BRDFs. $\endgroup$ – Hubble Sep 4 '18 at 15:13
  • $\begingroup$ As you wrote, I need uniformly distributed random numbers (for a diffuse reflection). But, for example, the small step mutations use a normal distribution to modify the $\xi_i$'s. That's what I don't understand. $\endgroup$ – 0xbadf00d Sep 4 '18 at 16:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.