Lapped textures

Abstract:
We present a method for creating texture over an arbitrary surface mesh using an example 2D texture. The
approach is to identify interesting regions (texture patches) in the 2D example, and to repeatedly
paste them onto the surface until it is completely covered. We call such a collection of overlapping
patches a lapped texture. It is rendered using compositing operations, either into a traditional
global texture map during a preprocess, or directly with the surface at runtime. The runtime compositing
approach avoids resampling artifacts and drastically reduces texture memory requirements. Through a
simple interface, the user specifies a tangential vector field over the surface, providing local control
over the texture scale, and for anisotropic textures, the orientation. To paste a texture patch onto the
surface, a surface patch is grown and parametrized over texture space. Specifically, we optimize
the parametrization of each surface patch such that the tangential vector field aligns everywhere with the
standard frame of the texture patch. We show that this optimization is solved efficiently as a sparse
linear system.

Hindsights:
We originally entitled this submission "Synthesizing surface texture by
example". Perhaps we should have stuck to that title, because surface
texture synthesis became a hot topic the following year.

Several papers have improved our technique by adjusting the locations and
extents of the patches to make their boundaries less perceptible.

ACM Copyright Notice

Copyright by the Association for Computing Machinery, Inc. Permission to make digital or
hard copies of part or all of this work for personal or classroom use is granted without fee provided that
copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the
full citation on the first page. Copyrights for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to
redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications
Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org. The definitive version of this paper can be
found at ACM's Digital Library http://www.acm.org/dl/.