Specifications of generic hierarchical mesh data structure. Implementation of generic structure for smooth surfaces (NURBS)
Deliverable 2.3-1

Introduction

Traditional radiosity approaches have devoted very little attention to the geometric representation of non planar surfaces and objects. As a consequence, the vast majority of radiosity implementations known to date operate solely on polygonal meshes, most often restricted to triangles or quadrilaterals.

A New Hierarchical Radiosity Framework for Generic Mesh Data Structures

Our new generic approach is based on the use of an abstract element hierarchy in the spirit of Sillion [SD95][ARCADE Deliv 2.2-1]. In this context, we need to extend the generic hierarchical element hierarchy (which has previously been restricted to polygons) to non-planar surfaces. To achieve this in a clean manner, we separate the geometric properties of the objects involved from the objects which participate directly in the solution process, i.e., in the refinement and gather/push-pull steps of hierarchical radiosity with clustering.

Implementation of General Framework for NURBS Surfaces

The simplicity and utility of our new framework can be concretely demonstrated by taking an example implementation. We decided to start with a relatively simple case for which a regular parameterisation exists, that of NURBS surfaces. We discuss next issues relating to geometry, subdivision and display (input and underlying geometry are discuss in deliverable 2.3-1)

Subdivision and Hierarchical Radiosity

Figure 1. A NURBS radiosity solution.
(Left) Solution
(Right) Mesh due to the refinement

In Figure 1, we show a radiosity solution and the corresponding mesh due to subdivision using a simple BF refinement criterion. As can be clearly seen, hierarchical subdivision has been achieved on the mesh of the teapot body and the handle, corresponding to the fact that the surface is closer to the floor and thus receives more indirect illumination.

Display

For parametric surfaces in general, it is possible to render accurately with a variety of methods. Direct ray-tracing algorithms exist, based on various ray/surface intersection algorithms which have been published in the literature. Since we include NURBS in our polygon hardware pipeline rendering model, we need to subdivide the surface for display. Nonetheless, it is important to differentiate between the mesh created to represent illumination, and the mesh used for display. Generally speaking, it is often desirable to have a fine mesh for display, even though the radiosity mesh is quite coarse.

Figure 2: Geometry used for display.
(Left) Mesh used only for display
(Right) Triangulation used only for intersection calculation

We show this in Figure 2 where the mesh used for display is shown. Compare this to the mesh used for the radiosity solution, previously shown in Figure 1.

Discussion of General Multi-resolution Models

The specification of our generic framework has been shown to be able to handle both parametric surfaces and one case of multi-resolution models, namely face clustering. However face clustering suffers from one severe restriction, that of the highest level clustering step, which resorts to traditional clustering algorithms. For a scene say with hundreds of objects each containing one or two thousand polygons, each very much non-planar, this method is essentially equivalent to traditional clustering.

This aspect is unfortunate, since many powerful multi-resolution representations exist, which can reduce models of a few thousand polygons to models containing tens of polygons (or less), and still maintain important overall characteristics of the object [HOPP96][GARL97].

The problem with such approaches is that direct mappings between each level of the hierarchy no longer exist. For a given level of the hierarchy, the immediately lower or higher levels are not geometrically or parametrically contained in any intuitive manner. This is illustrated in Figure 3. As a consequence, extreme care must be taken when performing the push-pull operation to avoid inconsistent multi-resolution representation of light. We are currently investigating a solution to this problem, and we believe that we will be able to achieve a solution by the end of the project.

Figure 3: There is no exact correspondence between patch in different levels.

Such as solution would not require a major change to our framework, since we still believe that the separation between geometry and radiosity classes is appropriate. Their communication however may require some changes to accommodate the more intricate data exchanges that will be involved.

Conclusion

We have presented a specification of a novel framework for the treatment of non-planar surfaces in the context of a hierarchical radiosity system with clustering. The basis of or approach is the separation of the class hierarchy for computing the solution and the geometric properties of the non-planar surfaces. We have shown how this approach fits well into the context of existing hierarchical radiosity systems.

We also presented a first implementation of our approach for parametric NURBS surfaces, using the LADS interface. First images show the flexibility of the framework to treat and interactively display radiosity solutions involving NURBS surfaces. Finally we discussed future work which will involve the correct treatment of more general multi-resolution models.