Research Projects

Yarn-level Cloth Models


This page contains yarn-level cloth models I prepared. The files are in the BCC (Binary Curve Collection) file format I designed for these models (see below for detailed description). These models were created as a part of my research work on Stitch Meshes and I couldn't have prepared these models without the help of my collaborators. I would also like to acknowlege my student Kui Wu, who rescued these models from an extremely inefficient file format that we had originally used and helped me convert them into a much more efficient binary file format, BCC. A detailed description of the BCC file format is given below.

Alien Sweater
  • Downloadalien_sweater.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size1.6 MB
  • Curve count146
  • Control points137,528
Yarn-level model by Cem Yuksel. Cloth surface by Rune Spaans. Alien character model by Christer Sveen.
Alien Sweater Cables
Yarn-level model by Cem Yuksel. Cloth surface by Rune Spaans. Alien character model by Christer Sveen.
Dress1
  • Downloaddress1.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size8.9 MB
  • Curve count329
  • Control points756,648
Yarn-level model by Cem Yuksel. Cloth surface and character by Alexander Tomchuk.
Dress2
  • Downloaddress2.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size9.3 MB
  • Curve count316
  • Control points796,727
Yarn-level model by Cem Yuksel. Cloth surface and character by Alexander Tomchuk.
Sweater Flame Ribbing
Yarn-level model by Cem Yuksel. Cloth surface and character by Alexander Tomchuk.
Glove
  • Downloadglove.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size0.7 MB
  • Curve count70
  • Control points58,545
Yarn-level model by Cem Yuksel. Cloth surface and character by Alexander Tomchuk.
Sheep Sweater
  • Downloadsheep_sweater.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size8.6 MB
  • Curve count549
  • Control points729,767
Yarn-level model by Cem Yuksel. Cloth surface and sheep model by Rune Spaans.
Tea Cozy
  • Downloadtea_cozy.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size1.5 MB
  • Curve count22
  • Control points184,159
Yarn-level model by Cem Yuksel.
Cable Work Pattern
  • Downloadcable_work_pattern.bcc
  • Curve TypeCatmull-Rom (uniform)
  • File size1.5 MB
  • Curve count8
  • Control points130,083
Yarn-level model by Cem Yuksel.
Flame Ribbing Pattern
Yarn-level model by Cem Yuksel.
Openwork Trellis Pattern
Yarn-level model by Cem Yuksel.

Terms of Use

You may freely download and use the model files provided above for your personal or research projects. If you include any material (such as images, videos, or any other visual or numerical data) that you produce using these files in any public document (such as a web page, publication, technical report, a software release or documentation, or any other public document), you are expected to indicate where these models are obtained by placing a link to this web page:
http://www.cemyuksel.com/research/yarnmodels

Also, you are also expected to cite the following papers:

  1. Cem Yuksel, Jonathan M. Kaldor, Doug L. James, Steve Marschner, Stitch Meshes for Modeling Knitted Clothing with Yarn-level Detail, ACM Transactions on Graphics (Proceedings of SIGGRAPH 2012), 31, 3, 2012
    The yarn-level cloth models were prepared as a part of my research efforts for this paper, and they are generated using the methods described in this paper.
  2. Kui Wu, Cem Yuksel, Real-time Fiber-level Cloth Rendering, ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D 2017).
    The work for this paper allowed us to convert these models into a convenient file format provided here.

BCC File Format Specification

BCC stands for "Binary Curve Collection" format. This is an extremely simple file format that includes a 64-byte long header. The numbers use little-endian convention of x86.

BCC File Header (64 Bytes)

Bytes 0-2 Must be "BCC" in ascii code (42 43 43).
Byte 3 Indicates precision. It should be 44 in hexadecimal for these files, indicating 4-byte integers and 4-byte floats.
Bytes 4-5 The curve format. It is "C0" for the files in this page, indicating Catmull-Rom curves with uniform parameterization.
Byte 6 The number of dimensions. It is 3 for these files.
Byte 7 The dimension that corresponds to the up direction. It is either 1 or 2 (y or z directions) for these files.
Bytes 8-15 Total number of curves as a 64-bit unsigned integer (uint64_t).
Bytes 16-23 Total number of control points as a 64-bit unsigned integer (uint64_t).
Bytes 24-63 File information as char array of size 40 in ascii.

The rest of the file contains the data block. The data block consists of entries for each curve. Each curve entry begins with an integer indicating the number of control points for the curve, followed by the x, y, and z coordinates of each control point. If the number of control points is negative, it indicates that the curve represents a closed loop. Otherwise, the first and last control points indicate the first and last points of the curve.

cyCodeBase includes a simple tutorial for loading BCC files.