Multi-scale Assemblage for Procedural Texturing
A procedural pattern generation process, called multi-scale assemblage is introduced. An assemblage is defined as a multi-scale composition of multi-variate statistical figures, that can be kernel functions for defining noise-like texture basis functions, or that can be patterns for defining structured procedural textures. This paper presents two main contributions: 1) a new procedural random point distribution function, that, unlike point jittering, allow us to take into account some spatial dependencies among figures and 2) a multi-variate approach that, instead of defining finite sets of constant figures, allows us to generate nearly infinite variations of figures on-the-fly. For both, we use a statistical shape model, which is a representation of shape variations. Thanks to a direct GPU implementation, assemblage textures can be used to generate new classes of procedural textures for real-time rendering by preserving all characteristics of usual procedural textures, namely: infinity, definition independency (provided the figures are also definition independent) and extreme compactness.
procedural texturing noise procedural object distribution function gpu shader