Supervised by Doron Tal


Texture synthesis is the process of taking small samples of a texture and generating a large amount of image data which will be perceived by the human eye to be the same texture. In other words, to take a texture and find a way to expand it into a wider area so that it can be used for texture mapping and texture based rendering of larger objects.

In this project I utilize and compare two techniques for synthesis:

The first technique is an image-based method in which a new image is synthesized by stitching together small patches of existing images. This process is called image quilting. Quilting is a texture synthesis algorithm which produces good results for a wide range of textures. I then use an expansion of the algorithm to perform texture transfer – rendering an object with a texture taken from a different object. The method works directly on the images and does not require 3D information.

The second technique is a stochastic system for non-periodically tiling the plane with a small set of Wang Tiles. The tiles are filled with texture that when glued together create a continuous image. The main advantage of using Wang Tiles is that once the tiles are filled and a tile set is ready, large textures can be created very efficiently at runtime.



The following images are examples of textures synthesized in this project.

Sample texture Synthesized image

Sample texture Synthesized image


Sample texture Synthesized image


Related Documentation

Project report [TextureSynthesisProjectBook.pdf 1.5MB]

PowerPoint slides [PowerPoint 5.6 MB]

Image Quilting Source Files [Zip 48KB]

  Wang Tiling Source Files [Zip 59KB]