Visualising implicit surfaces with the ray casting method is a slow procedure. The design cycle of a new implicit surface is, therefore, fraught with long latency times as a user must wait for the surface to be rendered before being able to decide what changes should be introduced in the next iteration. In this paper, we present an attempt at reducing the design cycle of an implicit surface modeler by introducing a progressive refinement rendering approach to the visualisation of implicit surfaces. This progressive refinement renderer provides a quick previewing facility. It first displays a low quality estimate of what the final rendering is going to be and, as the computation progresses, increases the quality of this estimate at a steady rate. The progressive refinement algorithm is based on the adaptive subdivision of the viewing frustum into smaller cells. An estimate for the variation of the implicit function inside each cell is obtained with an affine arithmetic range estimation technique. Overall, we show that our progressive refinement approach not only provides the user with visual feedback as the rendering advances but is also capable of completing the image faster than a conventional implicit surface rendering algorithm based on ray casting.
This paper was presented at the GRAPP 2006 conference that was held in Set�bal, Portugal, between the 25 and the 28 of February, 2006. It was previously published as technical report CS-05-11 in the Department of Computer Science, The University of Sheffield. The GRAPP 2006 paper is available from the link below:
PDF format (234 K) (progressivegrapp.pdf)
The paper was later selected for publication in a Springer book, containing the best papers from the GRAPP 2006 conference. The version submitted for the book has been expanded to contain a more thorough description of the affine arithmetic range estimation technique that we use. The final paper is available from www.springerlink.com. A draft paper is available below:
PDF format (282 K) (progressivespringer.pdf)
We have implemented a different approach to progressive rendering of implicit surfaces that uses Lipschitz bounds instead of affine arithmetic bounds for estimating the variation of the surface. This approach can only be undertaken for surfaces that are Lipschitz continuous but this is not a very restrictive condition. The advantage of using Lipschitz bounds is that they can be evaluated much more quickly than affine arithmetic bounds, making the progressive renderer more efficient. The final paper has been published in the Computers & Graphics journal and is available at www.sciencedirect.com. A draft version is available from the link below:
PDF format (686 K) (progressivescag.pdf)
The following animations illustrate the most important features of our progressive refinement visualiser for implicit surfaces. The progress bar that is shown in red at the bottom of the animations indicates the percentage of pixels in the image that have reached their final intensity values and that, therefore, need not be refined any further. There is a large initial increase in this percentage value as the background areas are quickly resolved by the previewer.
This illustrates the typical progression mode. The overall image quality improves quickly and the final stages of refinement are concerned with resolving the small scale features of the surface. | |
It is possible to have different progression modes in the previewer. This animation shows a depth-first progression mode where small image areas have higher priority over larger ones. | |
With our previewer, it is possible to define interactively rectangular Regions of Interest (ROI) as the rendering progresses. Any parts of the implicit surface seen through a ROI will be given priority during the refinement process. This animation shows the use of several ROI's during a visualisation. |