That's true. If you have a working bidirectional path tracer, which is the most challenging part to get right, then it's easy to add The main difference is that you need to trace all light paths first.Dade wrote:1) VM is very easy to implement on top of an existing BiDir as an option. So easy that you may want to implement it even if it isn't strictly required by the kind of images you are going to render. It is just an useful option available for the users.
It's a bit more demanding than SPPM in that it performs the merging on every eye sub-path vertex. In my implementation, the full VCM can be 2-3x slower per iteration than (S)PPM, depending on the scene, but providing much better quality most often.Dade wrote:2) Not surprising, it shares with SPPM some of the implementation critical points (time to spent to create the k-NN accelerator with light vertices, lookup time of k-NN vertices, memory usage of the k-NN accelerator, etc.).
One interesting thing in VCM is that the radius provides you with a direct control over the relative weights of the vertex connection and vertex merging techniques. Very small radius essentially gives you bidirectional path tracing. In order to get progressive photon mapping, however, often you need to set the radius to something impractically large, since vertex connection is very good for "long" diffuse transport (e.g. the teaser image in the paper).Dade wrote:3) It shares with SPPM also some rendering characteristics. For instance, large initial search radius lead to a large initial bias (i.e. blurred caustics), good for previews (i.e. less perceived high frequency noise in the early stage of the rendering), etc.
One visual drawback of VCM is that it exhibits two types of noise/artifacts - mid-frequency splotches from merging and high-frequency noise from vertex connections. This is a visual effect of the correlated/uncorrelated sampling that is not currently taken into account by the weighting, as (to my knowledge) there's no good mathematical model for it. On very difficult scenes, it can be a bit unpleasant. Though you can also get high frequency noise in SPPM on glossy surfaces.