3D GIS applications often render 2D vector data, like roads, rivers, and country boundaries onto the landscape. Techniques for combining 2D features with 3D terrain are generally either texture or geometry based. Both have their issues. In this blog entry, I'm going to give a short preview of Insight3D's approach.
A few years ago for STK, we developed a method using shadow volumes. A long thin box is created that represents, for example, a road. The bottom of the box is below the terrain and the top is above. The terrain is colored where the box intersects the terrain forming a line. Two papers were recently written that describe this method: Efficient and Accurate Rendering of Vector Data on Virtual Landscapes and Rendering 3D Vector Data using the Theory of Stencil Shadow Volumes.
While both papers describe how to determine the height of the box, they do not describe how to determine the width. If they keep the width static, as the camera moves away from the line, the line will disappear. In STK, we use a vertex shader to dynamically modify the width based on the camera's field of view and distance from the line to keep the line a user defined width in pixels.
This method has two issues. Lines breaks up from certain viewpoints as seen in the left image of fig. 1.
Also, lines smear down the side of steep terrain, such as on mountainsides. The left image of fig. 2 shows a line that is supposed to be one pixel wide.
We have been working on a new lines on terrain method for Insight3D to eliminate these issues. The right images of figs. 1 and 2 show the new method. The line is not broken and remains one pixel wide over the mountainside.
Research into this method is ongoing. We hope to add the ability to create patterned lines, like dashed and dotted lines. We'd like to apply this method to create altitude contour lines. We are also working on a line level of detail system to allow Insight3D to render massive amounts of 2D vector data.
There you go - a short preview of current research we are doing. Sometime in the future, we expect to describe the new method in detail.