Whether it's for modelling, lighting or, in this case, creating textures, I love working in details. Naturally, one of my favourite ways to approach the construction of precise textures is to first look at how much of it can be achieved using procedural methods.
I like that procedural textures take very little memory and allow for extreme detailing and finesse at almost no cost other than render time. The first thing I like to look at is the bump or displacement texture, as it is the one that conveys the most information.
To start, I use simple sine waves to create the threads, which I then combine into a weave using a simple chequerboard texture. The size ratio of the weft and warp threads, as well as the horizontal and vertical proportions of the chequerboard, help define the initial weave of the fabric.
Using this simple technique, we can create a wide variety of weave patterns that provide good starting bases ready for further enrichment. We can use fractal noises to slightly distort the threads and eliminate the obvious overall symmetry of the weave.
By using similar noise functions, we can modulate the weave's intensity globally to offer a slightly uneven surface. I usually create a few surface noises to create variation in depth and other incidental details.
Hugues Giboire is a 3D artist with more than 20 years' experience in the CG industry. He's a BAFTA nominee for artistic achievement in video games. This article originally appeared in 3D World (opens in new tab) issue 182.