Cell projection of meshes with non-planar faces
Volume rendering converts a scalar function on a 3D volume into varying colors and opacities, and creates an image by integrating the color and opacity effects along viewing rays through each pixel [1]. For data specified on a regular grid, the ray tracing is straightforward [2,3,4,5], and similar effects can be obtained with 3D textures [6]. For curvilinear or irregular grids, these methods are only applicable after the data has been resampled. An alternative, which works directly on these more general grids, is cell projection [7,8,9]. The cells composited onto the image in back to front sorted order. The projections of the edges of a single cell divide the image plane into polygons, which can be scan converted and composited by standard graphics hardware. In references [9,10,11], we assumed that the cells were polyhedra with planar faces. A curvilinear grid maps a rectangular grid onto a curved volume, for example to fit next to an airplane wing or ship hull, and quadrilateral faces may map to non-planar surfaces. Irregular grids are fitted to complex geometries, for example mechanical parts, and even initially flat faces may become non-planar as the grid elements deform, for example, in a car crash simulation. Non-planar faces cause problems in the sorting and compositing when a viewing ray crosses the same face twice. We call such a face a ''problem face''. For example, the ray may leave cell A through face F, enter cell B , and then enter cell A again through the same face F. If a viewing ray intersects a cell like A in two disjoint segments, we call the cell a ''problem cell''. This makes it impossible to sort cells A and B in back-to-front compositing order. Our solution is to divide problem cells into tetrahedra, which have planar faces. A single hexahedron can be projected and composited more quickly than the five or six tetrahedra into which it is subdivided, so we subdivide only the problem cells. In the example above, cell B might not turn out to be a problem cell, so it might not be subdivided. However, the face F must still be subdivided into two triangles when rendering cell B, in order not to create gaps in the data volume. The decision whether a face or a cell is a problem depends on the viewing rays, so the subdivision is view dependent. Therefore our data structure is designed to efficiently replace faces or cells by their subdivisions, and restore them when subdivision is no longer necessary. A preliminary description of our system appeared in [12], which is a good introduction to back-to-front sorting algorithms. Here, after sketching the subdivision and sorting algorithms in sections 2 and 3 respectively, we give more detail in section 4 on the cell projection and how it is affected by non-planar faces. In sections 5 we describe the data structures designed to handle the view-dependent subdivision, and section 6 gives results.
- Research Organization:
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- US Department of Energy (US)
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 15006288
- Report Number(s):
- UCRL-JC-141516; TRN: US200407%%185
- Resource Relation:
- Conference: Dagstuhl Seminar number 211: Scientific Visualization, Dagstuhl (DE), 05/21/2001--05/26/2001; Other Information: PBD: 27 Nov 2000
- Country of Publication:
- United States
- Language:
- English
Similar Records
Hexahedron Projection by Triangle Fans and Strips
Volumetric Rendering on Wavelet-Based Adaptive Grid