For view dependent reconstruction we need to evaluate L(x) where x is the point on the surface that is hit by a ray (or is derived from some other rendering approach). This is in some ways very similar to view independent reconstruction, but has few significant twists. In both cases we are reconstructing L(x) at a point, but in view dependent reconstruction we often include more elaborate texturing and non-diffuse surfaces. Perhaps the biggest issue is that we (tend to) sample at a much higher rate than we do for view independent reconstruction. This means that any rapidly changing error in the reconstruction will be much more noticeable.
This approach was first introduced in a Master's thesis by Mark Reichert[29] and discussed in CW[10]. The initial version was done using progressive radiosity and was quite slow. Complete form factor and visibility information was computed for every surface (shooting patch) in the environment to every point needed for reconstruction. Using HR we can do this much more efficiently at the risk of a few complications.
Gather at each point using the collection of surfaces (sources) defined by the links. This is still expensive.
Try to gather only over some links, not all. With piecewise constant basis functions this causes problems because your gathering strategy changes on each leaf node (different set of links, different set of sources, different set explicitly gathered over.)
Break up the error by randomly choosing some set to gather from, using
either intensity or error estimates to weight the choice. This can
work if done right. We want to use as much of the computed
information as we can, either using the value off the link, or
recomputing it with some probability. To do this right, we need to
use Russian Roulette, otherwise we get the following
| E(L) | = | ![]() |
(17) |
| = | L(x). | (18) |
The inefficiencies of this method are caused by dealing with the discontinuous change of strategies that occurs between leaves. A piecewise linear mesh should solve this problem, and allow many of the energy transfers to be computed once and interpolated.
For environments with arbitrary BRDF's, the BRDF can be evaluated at each point. Uneven use of the incoming links may require more of the links to be recomputed for each pixel. Also, the spread of the near specular lobe can cause problems if it is narrower than the projection of a patch. Highly specular BRDF's can be treated by sending out rays to sample them.