Simulating cloth is big business - how else can CGI characters get to wear any clothes? Now, as well as simple fabrics, graphics designers can have knitwear on their virtual clothes racks.
This year's SIGGRAPH produced a lot of interesting ideas and this one is no exception. The usual way of creating clothes for computer generated actors is to take a thin sheet and add a texture. This works for simple "flat" cloth but knitted garments that have a 3D structure because of the way the yarn is knitted together pose a problem. In this case you can't just apply a flat patterned texture because the knitted fabric changes the way it looks as it moves under the lighting and it is important to get the internal shadows right.
Cem Yuksel of the University of Utah, Jonathan Kaldor of Facebook, and Steve Marschner and Doug James of Cornell have tackled the problem of rendering knitted material. Rather than trying to create a full 3D model of the knitted surface the approach is to use a model of a single stitch, render it and then use it to tile the surface. The 3D model has an extra stitch mesh added to it and a pattern of stitches is built up for each of the appropriate tiles to fill.
If it really was this easy then it would have been a solved problem years ago. In addition, it is important that as each tile is placed into the full 3D model the tile is deformed to fit and the stitch stretches as it would in real life.
click to enlarge
The process of rendering the final knitted surface has to be done off-line and it is slow. This means that, at the moment at least, it can't be easily used for real-time games, but for CGI movies it is just another batch rendering process to add to the mix.
A range of sample knitted types have been used as tests for the new algorithm.
Simulated knit dresses with two different patterns
Homage to the classic 3D tepot