Graphics Reference
In-Depth Information
Figure 3.4. Crack-free, multiresolution terrain rendered from a quadtree implemented
entirely on the GPU. The alternating colors show the different levels of the quadtree.
3.4 Discussion
This section provides a series of answered questions, which should give better
insights on the properties and possible extensions of our implementation.
How much memory should be allocated for the buffers containing the nodes? This
depends on the α and k values, which control how fast distant nodes should be
merged. The buffers should be able to store at least 3
×
max_level +1 nodes and do
not need to exceed a capacity of 4 max_level nodes. The lower bound corresponds
to a perfectly restricted quadtree, where each neighboring cell differs by one level
of subdivision at most. The higher bound gives the number of cells at the finest
subdivision level.
Is the quadtree prone to floating-point precision issues? There are no issues regard-
ing the tree structure itself, as each node is represented with bit sequences only.
However, problems may occur when extracting the location and scale factors ap-
plied to the instanced grid during the rendering pass, in Listing 3.4. The 15-level
quadtree does not have this issue, but higher levels will, eventually. A simple
solution to delay the problem on OpenGL4+ hardware is to use double precision,
which should provide sucient comfort for most applications.
Search WWH ::




Custom Search