Graphics Reference
In-Depth Information
image displayed on the screen that is most important, and geometry is just a means by
which to construct it.
On close inspection it isn't too hard to see the differences between the left and right
images in Figure 9.24. However, the differences are actually quite minimal. Apart from
the silhouette (discussed next) the difference is very rarely above 15%, which, for a re-
duction in geometry of 40%, is a good tradeoff. The exact weightings and biases can be
easily tweaked in the appropriate HLSL code to achieve an aesthetically pleasing result.
Further Extensions
By weighting the level of detail by the actual complexity of the landscape, the available
processing time can be more accurately shifted to areas that genuinely benefit from it.
Despite being a worthwhile improvement over the original, there are still further exten-
sions that could be implemented.
The discussion so far has calculated LODs as a pre-pass before any rendering.
However, there is no reason that dynamic terrain (where the shape changes on a regular
basis) can't be used, given that a simple rerun of the compute shader will update all the
necessary inputs for the actual rendering.
One particular limitation of this implementation is that it still retains an element of
distance in the LOD calculation. Geometry further from the camera is always assumed to
be less important, and to require less detail.
Consider the horizon shown in Figure 9.25. By definition, a horizon is a long way
from the viewer; in the current implementation, that works to reduce the final level of de-
tail, even though the horizon is a significant part of the image as a whole.
It is worth extending the terrain algorithm to weight features on the horizon higher
than distant objects that are less pronounced. The silhouette of a model is one of the big-
gest visual clues of its true level of
detail, and is one of the more obvi-
ous places for the human eye to pick
up on approximations or other visual
artifacts.
Another possibility is to use a
secondary height-map. We could use
the approach already discussed to get
the basic shape of the landscape for
the hull shader control points, and
could use a secondary height map
to add further detail to the vertices
generated by the domain shader. This
has the neat potential of allowing
Figure 9.25. Example rendering showing a low-detail
horizon.
Search WWH ::




Custom Search