REVO: A flexible, volumetric approach to mesh construction
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Meshes are used in a variety of applications to specify the three dimensional (3D) shapes of objects in simulated scenes. For example, a mesh can be used as an animal in an animation movie, a soldier in a video game, or a bulldozer in a simulation application. A straightforward way of creating a mesh is to modify an existing mesh. Although several mesh modi cation algorithms exist, there is a need for an algorithm that constructs a mesh from any combination of existing meshes and simple geometric shapes (called primitives) according to a list of user commands. When visualized, the resulting mesh should have a smooth (i.e. not blocky) surface. We propose the Revo method for constructing meshes from any combination of existing meshes or primitives according to user commands. The commands required to construct a speci c 3D mesh should be determined by an artist. First, the Revo method generates a volumetric representation of each input mesh or primitive. To do so, for each input mesh, it imposes a 3D grid called a volumetric grid on the portion of the 3D world that contains the mesh. Revo may apply some transformations to an input mesh to ensure that it is completely enclosed by the volumetric grid. A distance eld is used to approximate the input mesh in the volumetric grid. Similarly, each required primitive is constructed in a volumetric grid to yield a distance eld. A series of distance-based operations, such as union, intersection, and subtraction, are used to combine the distance elds according to the user commands. Finally, Revo extracts the implicit surface from the resulting distance eld and constructs a mesh. We analyzed the Revo method theoretically and empirically. Our analysis shows that the size of the volumetric grid a ects the accuracy of the volumetric data, the complexity of the generated mesh, and the performance of the algorithm. Using a larger volumetric grid results in more accurate volumetric data. However, it makes the process slower and the generated mesh more complex. The characteristics of the input meshes, such as the number of triangles, also a ect the performance of Revo. For a highly detailed input mesh, the generated mesh has fewer triangles than the input mesh because the output mesh has less detail than the input mesh. Also, the processing time and the