An algorithm for creating high-contrast irregular patterns

Changed on 12/07/2023
How can we digitally recreate the unevenness of tree bark, sand or roughcasting in such a way that they appear natural? The answer comes from the MFX (Inria Nancy-Grand Est and Loria) and Maverick (Inria Grenoble) project teams, who worked together to develop an innovative algorithm capable of generating such patterns on surfaces.
Plaque avec un échantillon de surface zébrée produite par procedural phasor noise
© Inria / T. Tricard


An upgrade on the previous standard in the field (Gabor Noise), Procedural Phasor Noise is set to be unveiled at the international conference SIGGRAPH 2019, and will enable users to generate complex patterns with previously unachievable levels of control. Designed for 3D printing, it will also make it easier to manufacture composite materials whose physical properties may vary depending on the direction.

Depicting a surface as being entirely uniform is unrealistic: no surface is either completely smooth or completely monochromatic. In order to create a realistic representation of materials such as bark, wood or roughcasting, random patterns are required along the surfaces in question.

Although it is possible to paint  these effects by hand, drawing each surface pixel, artists also rely on algorithms to produce the patterns more efficiently. The results, however, are not always satisfactory. At SIGGRAPH 2019 scientists from two project teams, MFX, a joint undertaking involving Inria Nancy-Grand Est and Loria, and Maverick, from Inria Grenoble, will unveil a novel  “procedural” pattern generation algorithm, capable of synthesizing a greater range of random patterns along the surface of objects modelled in 3D.

Generating patterns on the fly

In 2009 Sylvain Lefebvre, Inria research director and in charge of MFX, was involved in the development of Gabor Noise, an algorithm capable of generating patterns “on the fly”. This first version could be used to create pattern structures in the form of waves, the orientation of which could be changed as required along any preferential axes. The spacing between the stripes and the way in which they would alternate would vary depending on the directions and on the combinations of the different wave orientations. This pattern structure was then applied to the surface in order to vary its colours and to give it a particular texture. Through this, it was for instance possible to generate random waves on a surface before colouring  them with shades of beige and brown in order to recreate the grains of a wooden panel.

Gabor Noise was a major innovation in that it made it possible to create a wider variety of random patterns for “procedural textures”, i.e. textures taken from a “procedure” or a series of steps to be performed on a pixel in order to obtain a specific colour. This type of algorithm takes up very little storage memory, making it highly practical. Applied to high resolution images - particularly in the case of animated films - the benefits of Gabor Noise in terms of storage memory, combined with the way in which it enabled precise control over the patterns produced, made it a tool of choice for computer graphic designers.

Taking things a step further

There were, however, still a few stumbling blocks. The amplitude of the waves was not uniform, for example, and in places could  become abnormally low, thus affecting the contrast. What’s more, with Gabor Noise, it was not possible to control the geometric profile of the waves (which were always in the shape of sine waves), placing limits on the different types of patterns that could be created.

In order to free themselves of these constraints, Inria researchers have developed a new algorithm, Procedural Phasor Noise, which separates amplitude and phase during the process of generating noise waves. With this new approach, it is now possible to obtain high-contrast, uniform patterns with a degree of certainty, based on oscillations tightly controlled in terms of their profile, their orientation and their size.

For a negligible memory cost of 400 lines of code, this software can be used to produce effects on the fly that are more natural, making it ideal for the graphic modelling of stripes, sandy surfaces, tree bark or cracks on objects ”,explains Sylvain Lefebvre.“Procedural Phasor Noise has another useful and completely new feature: it lets you reshape the profile of the waves produced, meaning they can be changed to anything like sine waves, square waves or triangle waves. This paves the way for new applications, particularly for additive manufacturing via 3D printing”.

Indeed, this same noise function lets you model parts having varying levels of directional roughness on their surfaces, or produce parts with patterns of alternating materials, resulting in objects with specific mechanical properties. One of the very first applications tested by the researchers involved designing composite laminates with variable elasticity, firstly by generating patterns using Procedural Phasor Noise and then by matching flexible or rigid materials to ‘high’ and ‘low’ areas within the wavelets.

This type of material can be used on the sole of a running shoe, for example, but this is not the only possible application. When it comes to 3D printing, this new method opens up a whole host of possibilities, and we’re keen to start exploring them. ” explains Sylvain Lefebvre. All sorts of 3D-printed parts are conceivable.


SIGGRAPH (Special Interest Group on Computer GRAPHics and Interactive Techniques) is a major international computer graphics conference. First launched in 1974, each year it brings together a wide range of people from the worlds of industry, art and science engaged in image synthesis, whether this is for animated films, for creating special effects, for video games or for software programs used for 3D modelling. The 2018 edition, which was held in Vancouver, was attended by 16,500 people from 88 different countries.

The 45th edition of SIGGRAPH will be held at the Los Angeles Convention Center from 28th July to 1st August. MFX, a joint undertaking involving Inria and Loria, will present three scientific papers at the event. The results put forward concern new algorithms that have been optimised for the 3D designing and printing of curved depositions on standard filament printers, metamaterials based on multi-sided star shapes and anisotropic structure patterns with physical property gradients.

The Procedural Phasor Noise software developed by MFX will be presented at the SIGGRAPH conference on 30th July at 11.51am as part of the “High performance rendering” session in room 153.

Read more