Wang
Tiles for Image and Texture Generation
The purpose of the following project is to implement an interactive application
for texture design and synthesis using Wang Tiles. Texture is an image of a
certain pattern. It has locality property - any two small parts of the image
look similar, and also stochastic property - no two parts look exactly the
same.
Here are some examples:
In Computer Graphics, large texture images are often needed. Texture synthesis
is a process that generates a large texture image from a small texture sample.
The synthesized texture should have a natural appearence - it is not enough
just to tile the sample image, because repetition artifacts are very visible:
Wang Tiles is a method to tile the plane with a small set of input tiles without
periodicity. The input set consists of several tiles whose edges have
colors. We tile these tiles, so that adjacent edges have the same color:
|
||
Input tiles set |
|
Valid tiling |
Now, inside the tiles we can put anything we want - texture, geometry, etc.
Wang tiling ensures that if the input set is big enough (at least two tiles for
each combination of north-west edges), the tiling will be non-periodic.
Here are examples of texture synthesized using the approach discussed in the
paper:
|
|
|||
Input texture |
|
Automatically generated set of Wang tiles |
|
The synthesized texture using the Wang tiles on the left |
In addition, an interactive system provides the user the tool to design her own
textures by painting an appropriate set of Wang tiles (or importing geometric
primitives created in some other application). The system displays the
resulting texture after every change of the Wang tiles the user makes.
More formal requirements:
Your project is to implement the texture synthesis part (automatic by example and interactive) of the paper:
Wang Tiles for
Image and Texture Generation [pdf, 8MB]
Michael F. Cohen, Jonathan Shade, Stefan Hiller, Oliver Deussen
ACM SIGGRAPH 2003
Automatic texture synthesis
by example: the input is an image and the size of the Wang tiles set to
use. Generate the Wang tiles and then, given
the desired output image size, tile it.
Interactive texture design: provide the user some basic drawing functionality (the more creative the better). The user designs the Wang tiles content herself, and the system displays the tiling result.
Bonus: Implement additional parts of the paper (i.e. 3D geometry generation, such as terrain synthesis, Poisson distribution).
Slides:
Contact:
Olga Sorkine, sorkine@tau.ac.il, 03-6405360, Schreiber 002 (please notify by e-mail before coming)
Good luck and have fun!