Low Distortion Shell Map Generation Kai Ye* Zhejiang University Kun Zhout Microsoft Research Asia Zhigeng Pant Zhejiang University Yiying Tong§ Caltech Baining Guol Microsoft Research Asia ABSTRACT A shell map [7] is a bijective mapping between shell space (the space between a base surface and its offset) and texture space. It can be used to generate small-scale features on surfaces using a va- riety of modeling techniques. In this paper, we present an efficient algorithm, which reduces distortion by construction, for the offset surface generation of triangular meshes. The basic idea is to inde- pendently offset each triangle of the base mesh, and then stitch them up by solving a Poisson equation. We then introduce the details for computation of a stretch metric, which measures the distortion of shell maps. Our results show a substantial improvement compared to previous results. Keywords: Shell Maps, Offset Surface, Volumetric Texture, Geo- metric Texture Mapping. 1 INTRODUCTION Geometric details are often used in computer graphics to enhance the visual richness of a 3D surface. In these types of graphical rep- resentations, a base surface efficiently models the basic shape of an object, while volumetric texture or other types of geometric details are embedded in a thin layer of three dimensional space above the base surface, called a shell space (see Figure 1). The shell space is often constructed as the space between the base surface and an offset surface, created by moving each point along the normal di- rection of the original surface by a constant (or variable) distance. Mapping 3D geometric textures onto a base surface requires a 3D parameterization between the shell space and the texture space. Such mappings have been implicitly used since the late 80's [4, 5, 1]. Recently, Porumbescu et al. [7] introduced a bijec- tive mapping between shell space and texture space, called a shell map. Given a base surface S, an offset surface SO that has the same structure as S is generated using the method of Cohen et al. [2]. Utilizing the identical structures of S and SO, the shell space is tiled with prisms (see Figure 2), each of which has a corresponding prism in the texture space. Splitting these prisms into tetrahedra, they es- tablish direct correspondences between tetrahedra in the shell space and tetrahedra in the texture space. The shell map is then defined using the barycentric coordinates of the corresponding tetrahedra. A shell map supports any types of objects that can be placed in tex- ture space, such as geometric objects, procedural volume textures, scalar height fields, or other objects. The mapping is bijective, al- lowing the use of both feed-forward rendering applications [10] and ray-tracing applications. In this paper, we study the distortion of shell maps, which is inevitable like that of the planar parameterization of arbitrary sur- faces. *e-mail: kelvinye@ cad.zju.edu.cn te-mail: kunzhou@microsoft.com *e-mail: zgpan@cad.zju.edu.cn (corresponding author) §e-mail: yiying@cs.caltech.edu le-mail: bainguo@microsoft.com 1.1 Related Work Shell map distortion comes from its two main building blocks: off- set surface generation and parameterization of the base/offset sur- face. While a variety of tools have been developed to parameterize arbitrary surfaces (see the survey in [3]), only a few methods have been proposed to generate the offset surface in computer graphics. In [2], Cohen et al. proposed to move the vertices along their normals by a given distance in positive and negative directions to construct the simplification envelope to control the global error in level of detail approximation. They introduced an iterative way of moving each vertex with adaptive step sizes along the normal in order to deal with self-intersection. Peng et al. [6] proposed the use of an extended distance function gradient to move the surface without creating intersections. Com- pared with this method, the thickness of envelopes in [2] is very low in regions of concavities, and the shape of the surface of the envelope tends to be undesirable in such areas. Zhou et al. [11] adopted the idea of tetrahedralizing the shell space presented in Porumbescu et al. [7]. They added an optimiza- tion of the shell mapping based on a stretch metric, since low dis- tortion is crucial in their synthesis of geometric texture. They kept the shell space and the parameterization of the base mesh as is, only changing the parameterization of the offset mesh to reduce the stretch of the shell map. As a result, they need to store two separate sets of texture coordinates: one for the base mesh, and the other for the offset mesh. Moreover, as we will demonstrate, fixing the height of each vertex of the offset surface in the texture space is quite restrictive. 1.2 Overview Despite a few attempts to generate uniform offset surfaces, it re- mains an open problem to compute an optimal offset surface which reduces the geometric distortion of the shell map. We propose a simple method that combines construction of the offset surface and minimization of distortion. To provide additional degrees of free- dom in order to allow for low-distortion maps, we let the offset dis- tance fluctuate over the surface (i.e., we do not restrict the location to be exactly at a given distance to the original mesh). Our results confirm the necessity of introducing these vertical degrees of free- dom. Furthermore, our technique is efficient in both computational time and memory storage. The basic idea of our approach is to treat the shell space as a set of prisms, each of which is the space between a triangle of the base mesh and its offset. We first allow the prisms to be detached so that they are all right triangular prisms, and then assemble them using linear least squares optimization. In our case, the gradient fields are stored on tetrahedra, thus, we use the three dimensional discrete differential operators and the Poisson equation developed in Tong et al. [9]. Later in this paper, we discuss the stretch metric as proposed in Zhou et al. [II] in great detail, as it is crucial for comparison of the quality of our results and that of the previous methods. We also show that optimization guided by this measure can help to lower the distortion of the shell space produced by other methods as well. Nevertheless, our results without additional optimization already show a substantial improvement even when compared to the previ- ous results with this optimization.