CSAIL Research Abstracts - 2005 link to http://publications.csail.mit.edu/abstracts/abstracts05/index.html link to http://www.csail.mit.edu
bullet Introduction bullet Architecture, Systems
& Networks
bullet Language, Learning,
Vision & Graphics
bullet Physical, Biological
& Social Systems
bullet Theory bullet

horizontal line

Texture Design Using a Simplicial Complex of Morphable Textures

Wojciech Matusik, Matthias Zwicker & Frédo Durand

Figure 1: Continuous interpolation along a path connecting four samples in the space spanned by our database.


In this project, we developed a system to design novel textures using the space of textures induced by an input database [6]. We capture the structure of the induced space by a simplicial complex where vertices represent input textures. A user can generate new textures by interpolating within individual simplices. We propose a morphable interpolation for textures, which also defines a metric used to build the simplicial complex. To guarantee sharpness in interpolated textures, we enforce histograms of high-frequency content using a novel method for histogram interpolation. We allow users to continuously navigate in the simplicial complex and design new textures using a simple and efficient user interface. We demonstrate the usefulness of our system by integrating it with a 3D texture painting application, where the user interactively designs desired textures.


Textures play a fundamental role in enhancing the complexity and realism of 3D models. They are usually defined using procedural modeling or input photographs. Procedural textures, e.g., [1], provide great flexibility and allow the fine tuning of parameters to control the visual pattern. Unfortunately, they require programming skills that are out of reach of most users. In addition, reproducing a natural pattern in a realistic way can be challenging. The use of photographs ensures realism, but requires finding exactly the desired texture in the real world or performing tedious image retouching. The user might be able to find a number of textures that are similar to the desired result, but do not quite match. It is then desirable to take some of each texture and combine them to produce the desired output. In addition, textures often need to vary spatially because of the effect of weathering or other processes that are hard to achieve with photo editing software and not trivial to implement as a procedural texture. We propose an alternative technique for generating natural textures. Our approach is data driven, building upon a collection of textures from photographic input. We allow the user to combine these textures and continuously explore the space of all textures induced by the dataset.


The structure of the space of all textures, however, is extremely complex as shown by research in human vision, e.g., [2][3]. Quoting Heaps and Handel [3], ``there is no fixed set of dimensions that characterize natural textures.'' This is why traditional linear analysis and manifold embedding cannot be used to achieve our goal. The space of textures induced by our database is likely to be non-manifold, that is, various neighborhoods have different dimensionality. Hence, we apply a learning technique based on adaptive distance graphs [4] to construct a simplicial complex [5] of textures. Our technique involves two main components: The first component is a morphable model that facilitates the interpolation of textures using a warp deformation. Our interpolation scheme also includes a technique to preserve high frequency content, or sharpness, in interpolated textures. The second component consists of a simplicial complex that represents the space spanned by the textures in our database. For this, we define a texture distance metric and construct the simplicial complex using a neighborhood graph based on texture distances. We describe a simple and efficient user interface to navigate in this space and produce new, natural textures as illustrated in Figure 1. We also integrated our system with a 3D texture painting application, allowing the user to design desired textures interactively.


Our texture database consists of roughly 1500 images, collected from various sources on the web. From each image, we extracted a representative texture sample (i.e., 128 by 128 pixel patch) and we constructed a simplicial complex of morphable textures from these samples. To allow a user to intuitively design novel textures, we developed a user interface that abstracts from the underlying topological representation. The interface allows a user to navigate in the space spanned by the model without observing discontinuities. In a prototype of our envisioned texture design system, we have also integrated an interactive 3D texture painting application with our navigation interface. With the wide variety of textures in the database, a user can create realistic effects such as wear and tear of cloth.

Figure 1 shows an example of a continuous interpolation along a path in texture space. Four samples are pairwise connected and piecewise linear interpolation is performed in each pair. A similar example with a set of 26 different textures connected to a path is given in Figure 2. This example highlights how a wide variety of textures can be connected and smoothly interpolated using simplicial complex modeling. In Figure 3, we mimic weathering of a wood texture by applying spatially varying interpolation. The texture samples are shown on the left, where the color of their borders correspond to the color in the interpolation weight map in the middle, and the resulting texture is depicted on the right.

This work will be presented at SIGGRAPH 2005 and published in ACM Transactions on Graphics  [6].

Figure 2: A path connecting 26 samples in the simplicial complex model.


Figure 3: Using spatially varying interpolation between multiple textures: texture samples (left), interpolation weights (middle), and output image (right).


It would be desirable to extend this model to incorporate reflectance as well, e.g., using bidirectional texture functions. Moreover, we believe that our texture model could also be used as a discriminative model. Given a photograph one could determine what kind of surface it represents. Furthermore, the method for non-linear model construction we have introduced could be used for generating models in other domains.

Research Support

This project is supported in part by an NSF CISE Research Infrastructure Award (EIA-9802220), a stipend of the Swiss National Science Foundation, and NEC junior faculty support.


[1] Ken Perlin. An image synthesizer. In Proceedings of SIGGRAPH 85, pp. 287--296, 1985.

[2] Whitman Richards and Jan J. Koenderink. Trajectory mapping ("TM"): A new non-metric scaling technique. In Perception 24, pp. 1315-1331, 1995.

[3] C. Heaps and S. Handel. Similarity and features of natural textures. In Journal of Experimental Psychology: Human Perception and Performance 25, pp. 1-24, 1999.

[4] Joachim Giesen and Uli Wagner. Shape dimension and intrinsic metric from samples of manifolds with high co-dimension. In Symposium on Computational Geometry, pp. 329--337, 2003.

[5] T. Ngo, D. Cutrell, J. Dana, B. Donald, L. Loeb, and S. Zhu. Accessible animation and customizable graphics via simplicial configuration modeling. In Proceedings of ACM SIGGRAPH 2000, pp. 403--410, 2000.

[6] W. Matusik, M. Zwicker, and F. Durand. Texture design using a simplicial complex of morphable textures. To appear in ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2005), 2005.

horizontal line

MIT logo Computer Science and Artificial Intelligence Laboratory (CSAIL)
The Stata Center, Building 32 - 32 Vassar Street - Cambridge, MA 02139 - USA
tel:+1-617-253-0073 - publications@csail.mit.edu
(Note: On July 1, 2003, the AI Lab and LCS merged to form CSAIL.)