Elsevier

Computers & Graphics

Volume 28, Issue 1, February 2004, Pages 79-85
Computers & Graphics

Fat borders: gap filling for efficient view-dependent LOD NURBS rendering

https://doi.org/10.1016/j.cag.2003.10.007Get rights and content

Abstract

Real-time high-quality rendering of complex NURBS models remains a big challenge. Simply splitting the models into several parts which can be simplified and rendered independently introduces disturbing gaps along the common borders. Recent approaches for view-dependent rendering of huge models either neglect the artifacts introduced by the gaps or try to maintain the connectivity of the models. Unfortunately, in the second case the computational complexity and storage requirements of the algorithms are high. In this work we present a novel solution to the gap problem. Vertex programs are used to generate appropriately shaded fat borders that fill the gaps between neighboring patches.

Introduction

The recent developments in computer-aided design technologies steadily increase the size of geometric models. The enormous size of these models calls for sophisticated rendering techniques that support view-dependent level of detail (LOD), culling techniques and efficient memory management. There are essentially three types of algorithms dealing with this problem:

1. One approach to deal with this problem is to subdivide the models hierarchically into subparts which are simplified and rendered independently. This results in simple yet efficient algorithms. Unfortunately, subdividing models and processing the subparts individually introduces disturbing artifacts due to gaps along the cuts during view-dependent rendering, even if the gaps are less than half of a pixel wide. The reason for this is that the graphics hardware does point sampling, as it is shown in Fig. 7. This remains a problem, even if subsampling is used and several discrete points are sampled instead of the one and therefore the background color is replaced by an interpolated color. This causes flickering in animations, since the exact locations of such gaps keep changing from frame to frame.

2. Continuous LOD approaches employ complex and memory intensive data structures to manage connected triangle meshes over all LODs. Due to the elaborate dependencies of data in these hierarchical data structures the design and implementation of really fast algorithms remain a challenging task. Furthermore, to handle the memory requirements special out-of-core techniques have to be devised. They also have the disadvantage of treating the model as one single object. Therefore, most culling techniques are applicable only at polygon level.

3. Some recent approaches try to overcome the problems of continuous LODs by subdividing the whole object into independent subparts with individual LOD hierarchies. During rendering time appropriate LODs are selected for each subpart and these subparts are geometrically stitched together. This makes it possible to employ culling techniques, but requires a priori connectivity information between the subparts. This connectivity information is usually not present in the model and thus has to be computed in a preprocessing step. Even if this information is already present, the use of dynamic scenes where the connectivity information changes at runtime is not possible, since the computation of connectivity information is too expensive.

In this paper we follow the third approach, but introduce a method that abandons the idea of stitching together different subparts. Instead we suggest to eliminate the gaps by drawing appropriately shaded fat borders along the boundaries of subparts using a vertex program running on state of the art graphics hardware. The only requirement we impose is the knowledge of the approximation error along the boundaries and access to the boundary polylines of the subparts. We neither assume knowledge about the representation of the subparts nor about their adjacency. This gap filling algorithm allows us to devise a simple and efficient view-dependent level of detail rendering algorithm since we do not have to take care of shared triangulations of the subpart borders. Therefore, our method opens new possibilities for the development of further out-of-core simplification and view-dependent rendering algorithms for complex triangle meshes and complex models composed of higher order surfaces.

Using our new approach we are able to visualize dynamic trimmed NURBS models with changing neighborhoods in real-time combining our new gap filling algorithm with an on-the-fly tesselation of the individual trimmed NURBS patches.

Section snippets

NURBS rendering

The rendering of trimmed NURBS surfaces has received a lot of attention from researchers over the last few years due to its industrial relevance. Different approaches emerged for visualization, e.g. ray-tracing the surfaces (e.g. [1]), pixel level subdivision (e.g. [2]), or polygon tessellation (e.g. [3], [4], [5]), of which the triangle-based methods are generally much faster due to recent advances in graphics hardware. While these traditional approaches deal with individual curves or surfaces

The gap filling algorithm

In our new gap filling algorithm, the gaps between adjacent patches introduced by independent triangulations are filled by appropriately shaded fat borders. These fat borders consist of several triangles with predefined connectivity. Their orientation and width as well as their colors are view-dependent and calculated in each frame using a vertex program.

The input for our gap filling algorithm consists of an arbitrary number N of LOD-sets Hi={M̂i=Mni,…,M0i},i=1,…,N, of independent patches M̂i

Application to NURBS models

Our method would also fit nicely into the framework of [6]: one could avoid their computationally complex sewing part and use our solution instead. One of the reason for not choosing this path is that the problem of clustering the model into super-surfaces still remains and it makes it rather difficult to employ this approach to render dynamic models. Instead we tessellate the individuals trimmed NURBS patches independently with a guaranteed approximation error on the fly and fill the emerging

Results

We applied our method to render static and dynamic NURBS models, using normal maps [16]. Our implementation generates 2 vertices for each boundary vertex during the fat border generation, as described in 3.2. We have chosen 0.5 pixels as εimg which means the gaps between the patches can be at most one pixel wide. Nevertheless, our method still provides a considerable improvement in image quality.

Since we are able to use standard culling techniques we implemented viewfrustrum culling and

Conclusions and future work

In this paper we described a novel method for efficient view-dependent LOD rendering via gap filling. We introduced the notion of “fat borders”, a rendering aid that covers the cracks between unconnected components of complex models which have different LOD levels. We have proven that while using our technique has a negligible effect on the framerate, it is effective in hiding LOD artifacts that arise on the borders of unconnected subparts of complex models.

Our implementation runs on an Athlon

Acknowledgements

This project was partially funded by the German Federal Ministry of Education and Research (BMBF) under the project of OpenSG Plus. We thank Volkswagen for providing us with the trimmed NURBS models.

We thank ATI for kindly providing us with a Radeon 9700 Pro graphics board prior to its official release.

We would also like to thank Andreas Schilling for many fruitful discussions on this topic.

References (16)

  • Nishita T, Sederberg TW, Kakimoto M. Ray tracing trimmed rational surface patches. In: Baskett F. editor. Computer...
  • Shantz M, Chang S-L. Rendering trimmed nurbs with adaptive forward differencing. In: Dill J. editor. Computer graphics...
  • Herzen BV, Barr AH. Accurate triangulations of deformed, intersecting surfaces. In: Stone M.C. editor. Computer...
  • Rockwood AP, Heaton K, Davis T. Real-time rendering of trimmed surfaces. In: Lane J. editor. Computer graphics...
  • Forsey DR, Klassen RV. An adaptive subdivision algorithm for crack prevention in the display of parametric surfaces....
  • Kumar S, Manocha D, Zhang H, Hoff KE. Accelerated walkthrough of large spline models. In: 1997 Symposium on Interactive...
  • G.V.V.R. Kumar et al.

    Geometry based triangulation of multiple trimmed NURBS surfaces

    Computer-Aided Design

    (2001)
  • Guthe M, Meseth J, Klein R. Fast and memory efficient view-dependent trimmed NURBS rendering. In: Proceedings of...
There are more references available in the full text version of this article.

Cited by (9)

  • Filling trim cracks on GPU-rendered solid models

    2013, CAD Computer Aided Design
    Citation Excerpt :

    Modeling kernels assign a unique ID to each surface of the model internally.) Next, similar to previously proposed “fat edge/lines” approaches [8,6], we draw triangle-strips around the model edges. However, in contrast to those approaches, our algorithm only selectively renders portions from these triangle-strips in the third stage–to avoid introducing additional artifacts yet filling all the cracks–resulting in a clean, watertight appearance.

  • A methodology for solid modelling in a virtual reality environment

    2005, Robotics and Computer-Integrated Manufacturing
    Citation Excerpt :

    A fundamental problem for solid modelling in a virtual environment is model representation. In the graphics and VR community, active research projects on model decimation, multi-resolution, level-of-detail management and zone culling are currently being carried out [39–41]. Comparatively little research has been conducted for accommodating precise CAD models in a VR environment [42,43].

  • An effective RGB color selection for complex 3D object structure in scene graph systems

    2020, International Journal of Electrical and Computer Engineering
  • Efficient and anti-aliased trimming for rendering large NURBS models

    2019, IEEE Transactions on Visualization and Computer Graphics
  • Hardware accelerated multi-resolution geometry synthesis

    2006, Proceedings of the Symposium on Interactive 3D Graphics
View all citing articles on Scopus
View full text