Consider the PBRT implementation of the subpath connection in bidirectional path tracing for the strategy with a single camera vertex, as described here: http://www.pbr-book.org/3ed-2018/Light_Transport_III_Bidirectional_Methods/Bidirectional_Path_Tracing.html#SubpathConnections.

To allow for importance sampling, they ignore the previously generate camera subpath (consisting of a single vertex) and importance sample a new one.

My question is: Why are they sampling the camera subpath (by running the GenerateCameraSubpath) at all if they already know it will be ignored in the connection step? Couldn't we check for t = 1 before the call to GenerateCameraSubpath and only invoke it if t != 1? This should be correct, but there is a subtlety worrying me: They immediately return $0$ radiance if the call to GenerateCameraSubpath failed to generate a subpath of length 1. Now the question would be if it is possible thatGenerateCameraSubpath fails to generate a subpath of length 1, but the sampling in the connection step is successful.

I'm also interested in the same question for a light subpath with a single vertex.


Your Answer

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

Browse other questions tagged or ask your own question.