Interactive example-palettes for discrete element texture synthesis

Publication
Computers & Graphics

Abstract

Textures composed of individual discrete elements are found in everything from human-made glass-tilings to forests and tropical coral. We propose an interactive sketch-based system for synthesizing scenes consisting of many discrete element textures. We have implemented an example-palette, a design window where a user can use our sketch-based tools to create discrete element textures and then paint those textures into a scene or back into the example-palette to create new textures. Our interactive sketch-based tools use a new and fast region-growing algorithm that iteratively synthesizes new elements around previously synthesized elements. To support discrete element textures with different scales in the same output, we parameterize our region-growing algorithm on a per-element basis. Our method is capable of synthesizing structured and stochastic example discrete element textures. We explore applications of our system for building virtual worlds (such as for video games) and for sketch-based modeling.

System overview: The user creates example arrangments in a palette. Then, the user selects an example arrangment and paints it into the scene. The brushes synthesize element arrangments that are similar to the exemplar.
System overview: The user creates example arrangments in a palette. Then, the user selects an example arrangment and paints it into the scene. The brushes synthesize element arrangments that are similar to the exemplar.

The video below is a short visualization of the synthesis algorithm. It’s based on region-growing, where new elements are added to a growing front, such that the local arrangment of elements is similar to the exemplar. New elements (blue) are added around seed elements (green). This video does not show the optional relaxation step that can sometimes futher improve the quality of the output arrangement at the cost of time performance.

Region growing algorithm visualization with (green) seed elements and (dark blue) newly synthesized elements. light-blue and white elements are the final arrangment.

A typical editing session takes place within the Unreal Editor. In the video below, we design an exemplar and then paint it onto a bunny.

A typical editing session.

Youtube