Inverse appearance modeling of interwoven cloth

  • 477 Accesses


This paper proposes an inverse approach for modeling the appearance of interwoven cloth. Creating the desired appearance in cloth is difficult because many factors, such as the type of thread and the weaving pattern, have to be considered. Design tools that enable the desired visual appearance of the cloth to be replicated are therefore beneficial for many computer graphics applications. In this paper, we focus on the design of the appearance of interwoven cloth whose reflectance properties are significantly affected by the weaving patterns. Although there are several systems that support editing of weaving patterns, they lack an inverse design tool that automatically determines the spatially varying bidirectional reflectance distribution function (BRDF) from the weaving patterns required to make the cloth display the desired appearance. We propose a method for computing the cloth BRDFs that can be used to display the desired image provided by the user. We formulate this problem as a cost minimization and solve it by computing the shortest path of a graph. We demonstrate the effectiveness of the method with several examples.

This is a preview of subscription content, log in to check access.

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 199

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13


  1. 1.

    Adabala, N., Magnenet-Thalmann, N., Fei, G.: Real-time rendering of woven cloth. In: Proceedings of the ACM Symposium on Virtual Reality Software and Technology 2003 (VRST’03), pp. 41–47 (2003)

  2. 2.

    Adabala, N., Magnenet-Thalmann, N., Fei, G.: Visualization of woven cloth. In: Proceedings of the 14th Eurographics Workshop on Rendering (EGWR’03), pp. 178–185 (2003)

  3. 3.

    Alexa, M., Matusik, W.: Reliefs as images. ACM Trans. Graph. 29(4), 60:1–60:7 (2010)

  4. 4.

    Aliaga, C., Castillo, C., Gutierrez, D., Otaduy, M.A., Lopez-Moreno, J., Jarabo, A.: An appearance model for textile fibers. Comput. Graph. Forum 36(4), 35–45 (2017)

  5. 5.

    Ashikhmin, M., Premože, S., Shirley, P.: A microfacet-based BRDF generator. In: Proceedings of SIGGRAPH’00, pp. 65–74 (2000)

  6. 6.

    Bermano, A., Baran, I., Alexa, M., Matusk, W.: Shadowpix: multiple images from self shadowing. Comput. Graph. Forum 31(2), 593–602 (2012)

  7. 7.

    Breen, D.E., House, D.H., Getto, P.H.: A physically-based particle model of woven cloth. Vis. Comput. 8(5), 264–277 (1992).

  8. 8.

    Chen, M., Tang, K.: A fully geometric approach for developable cloth deformation simulation. Vis. Comput. 26(6), 853–863 (2010).

  9. 9.

    Chen, Y., Magnenat Thalmann, N., Foster Allen, B.: Physical simulation of wet clothing for virtual humans. Vis. Comput. 28(6), 765–774 (2012).

  10. 10.

    Cirio, G., Lopez-Moreno, J., Miraut, D., Otaduy, M.A.: Yarn-level simulation of woven cloth. ACM Trans. Graph. 33(6), 207:1–207:11 (2014)

  11. 11.

    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, Cambridge (2009)

  12. 12.

    Das, S., Ghosh, A., Banerjee, D.: Engineering design of woven fabrics using non-traditional optimization methods: a comparative study. Fibers Polym. 14(9), 1562–1567 (2013)

  13. 13.

    Hašan, M., Ramamoorthi, R.: Interactive albedo editing in path-traced volumetric materials. ACM Trans. Graph. 32(2), 11:1–11:11 (2013)

  14. 14.

    Huh, S.B., Metaxas, D.N.: A collision resolution algorithm for clump-free fast moving cloth. Vis. Comput. 22(6), 434–444 (2006).

  15. 15.

    Irawan, P., Marschner, S.: Specular reflection from woven cloth. ACM Trans. Graph. 31(1), 11:1–11:20 (2012)

  16. 16.

    Iwasaki, K., Dobashi, Y., Nishita, T.: Interactive bi-scale editing of highly glossy materials. ACM Trans. Graph. 31(6), 144:1–144:7 (2012)

  17. 17.

    Jakob, W., Arbree, A., Moon, J.T., Bala, K., Marschner, S.: A radiative transfer framework for rendering materials with anisotropic structure. ACM Trans. Graph. 29(4), 53:1–53:13 (2010)

  18. 18.

    Jeong, S., Kim, T., Kim, C.H.: Shrinkage, wrinkling and ablation of burning cloth and paper. Vis. Comput. 27(6), 417–427 (2011).

  19. 19.

    Kaldor, J.M., James, D.L., Marschner, S.: Efficient yarn-based cloth with adaptive contact linearization. ACM Trans. Graph. 29(4), 105:1–105:10 (2010)

  20. 20.

    Kang, Y.M., Choi, J.H., Cho, H.G., Lee, D.H.: An efficient animation of wrinkled cloth with approximate implicit integration. Vis. Comput. 17(3), 147–157 (2001).

  21. 21.

    Khungurn, P., Schroeder, D., Zhao, S., Bala, K., Marschner, S.: Matching real fabrics with micro-appearance models. ACM Trans. Graph. 35(1), 1:1–1:26 (2015)

  22. 22.

    Lin, J.J.: A GA-based search approach to creative weave structure design. J. Inf. Sci. Eng. 24(3), 949–963 (2008)

  23. 23.

    Luan, F., Zhao, S., Bala, K.: Fiber-level on-the-fly procedural textiles. Comput. Graph. Forum 36(4), 123–135 (2017)

  24. 24.

    Magnenat-Thalmann, N., Volino, P.: From early draping to haute couture models: 20 years of research. Vis. Comput. 21(8), 506–519 (2005).

  25. 25.

    Mitra, N.J., Pauly, M.: Shadow art. ACM Trans. Graph. 28(5), 156:1–156:7 (2009)

  26. 26.

    Papas, M., Jarosz, W., Jakob, W., Rusinkiewicz, S., Matusik, W., Weyrich, T.: Goal-based caustics. Comput. Graph. Forum 30(2), 503–511 (2011)

  27. 27.

    Sadeghi, I., Bisker, O., de Deken, J., Jensen, H.W.: A practical microcylinder appearance model for cloth rendering. ACM Trans. Graph. 32(2), 14:1–14:12 (2013)

  28. 28.

    Schröder, K., Klein, R., Zinke, A.: A volumetric approach to predictive rendering of fabrics. Comput. Graph. Forum 30(4), 1277–1286 (2011)

  29. 29.

    Schröder, K., Zhao, S., Zinke, A.: Recent advances in physically-based appearance modeling of cloth. In: SIGGRAPH Asia 2012 Courses, SA ’12, pp. 12:1–12:52 (2012)

  30. 30.

    Schröder, K., Zinke, A., Klein, R.: Image-based reverse engineering and visual prototyping of woven cloth. IEEE Trans. Vis. Comput. Graph. 21(2), 188–200 (2015)

  31. 31.

    Schwartzburg, Y., Testuz, R., Tagliasacchi, A., Pauly, M.: High-contrast computational caustic design. ACM Trans. Graph. 33(4), 74:1–74:11 (2014)

  32. 32.

    Velinov, Z., Hullin, M.B.: An interactive appearance model for microscopic fiber surfaces. In: Vision, Modeling, and Visualization 2016 (2016)

  33. 33.

    Wang, J., Zhao, S., Tong, X., Snyder, J., Guo, B.: Modeling anisotropic surface reflectance with example-based microfacet synthesis. ACM Trans. Graph. 27(3), 41:1–41:9 (2008)

  34. 34.

    Westin, S.H., Arvo, J.R., Torrance, K.E.: Predicting reflectance functions from complex surfaces. In: Proceedings of the SIGGRAPH’92, pp. 255–264 (1992)

  35. 35.

    Wu, H., Dorsey, J., Rushmeier, H.: Physically-based interactive bi-scale material design. ACM Trans. Graph. 30(6), 145:1–145:10 (2011)

  36. 36.

    Wu, H., Dorsey, J., Rushmeier, H.: Inverse bi-scale material design. ACM Trans. Graph. 32(6), 163:1–163:10 (2013)

  37. 37.

    Yue, Y., Iwasaki, K., Chen, B.Y., Dobashi, Y., Nishita, T.: Pixel art with refracted light by rearrangeable sticks. Comput. Graph. Forum 31(2), 575–582 (2012)

  38. 38.

    Yue, Y., Iwasaki, K., Chen, B.Y., Dobashi, Y., Nishita, T.: Poisson-based continuous surface generation for goal-based caustics. ACM Trans. Graph. 33(3), 31:1–31:7 (2014)

  39. 39.

    Yuksel, C., Kaldor, J.M., James, D.L., Marschner, S.: Stitch meshes for modeling knitted clothing with yarn-level detail. ACM Trans. Graph. 31(3), 37:1–37:12 (2012)

  40. 40.

    Zhang, J., Xin, B., Wu, X.: A review of fabric identification based on image analysis technology. Text. Light Ind. Sci. Technol. TLIST 2(3), 120–130 (2013)

  41. 41.

    Zhang, R., Xin, B.: A review of woven fabric pattern recognition based on image processing technology. Res. J. Text. Appar. 20(1), 37–47 (2016)

  42. 42.

    Zhao, S., Hašan, M., Ramamoorthi, R., Bala, K.: Modular flux transfer: efficient rendering of high-resolution volumes with repeated structures. ACM Trans. Graph. 32(4), 131:1–131:12 (2013)

  43. 43.

    Zhao, S., Jakob, W., Marschner, S., Bala, K.: Building volumetric appearance models of fabric using micro ct imaging. ACM Trans. Graph. 30(4), 44:1–44:10 (2011)

  44. 44.

    Zhao, S., Jakob, W., Marschner, S., Bala, K.: Structure-aware synthesis for predictive woven fabric appearance. ACM Trans. Graph. 31(4), 75:1–75:10 (2012)

  45. 45.

    Zhao, S., Luan, F., Bala, K.: Fitting procedural yarn models for realistic cloth rendering. ACM Trans. Graph. 35(4), 51:1–51:11 (2016)

Download references


This work was supported by JSPS KAKENHI Grant Number JP15H05924.

Author information

Correspondence to Yoshinori Dobashi.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mp4 123871 KB)

Supplementary material 1 (mp4 123871 KB)

Appendix A: extension to multiple target images

Appendix A: extension to multiple target images

The method described in this paper focuses on the display of a single target image. This section describes its extension to multiple target images. Let us explain the case where the user provides two target images, \(I^0\) and \(I^1\), with corresponding viewing directions, \({\mathbf {v}}^0\) and \({\mathbf {v}}^1\). The number of intensity levels of the two images is assumed to be L. Notice that \({\mathbf {v}}^0\), \({\mathbf {v}}^1\), and L are carefully selected, since the BRDFs of weaving patterns have limitation in their expression ability (see below for detailed discussion).

Now, our goal is to find the optimal pattern \({\mathbf {w}}_{i,j}\) that provides intensities \((I^0_i, I^1_j)\) when viewed from \({\mathbf {v}}^0\) and \({\mathbf {v}}^1\), respectively, where \(I^k_i\) is the ith intensity of \(I^k\). We modify the minimization problem in Eq. 3 to take into account two target images,

$$\begin{aligned} \mathop {\arg \min }\limits _{{\mathcal {W}}}\sum _{i=0}^{L-1}\sum _{j=0}^{L-1}\left| I^0_i - I_{c}\left( {\mathbf {w}}_{i,j}, {\mathbf {v}}^0\right) \right| \end{aligned}$$
$$\begin{aligned} + \sum _{i=0}^{L-1}\sum _{j=0}^{L-1}\left| I^1_j - I_{c}\left( {\mathbf {w}}_{i,j}, {\mathbf {v}}^1\right) \right| \end{aligned}$$
$$\begin{aligned} + \lambda \sum _{(a,b) \in {\mathcal {N}}} D\left( f_r\left( {\mathbf {w}}_a\right) , f_r\left( {\mathbf {w}}_b\right) \right) , \end{aligned}$$

where \({\mathcal {W}}=\{{\mathbf {w}}_{i,j} \; | \; i, j \in (0,\ldots ,L-1)\}\) is a set of weaving patterns, \(I_{c}({\mathbf {w}}_{i,j}, {\mathbf {v}}^k)\) is the intensity of the cloth with weaving pattern \({\mathbf {w}}_{i,j}\) viewed from direction \({\mathbf {v}}^k\), and \({\mathcal {N}}\) is a set of neighboring patterns defined as \({\mathcal {N}} = \{((i,j),(i+1,j)),((i,j), (i,j+1)) \;|\; i,j \in (0,\ldots ,L-2)\}\).

Similar to the single target image case, we first compute the intensity \(I_{c}({\mathbf {w}}, {\mathbf {v}}^k)\) for all \(N_w\) weaving patterns from the two viewing directions, \({\mathbf {v}}^0\) and \({\mathbf {v}}^1\). Next, the weaving patterns are classified into \(L \times L\) groups. For a pattern \({\mathbf {w}}\), we search the set (ij) that minimizes \(d_{i,j} = |I^0_i - I_{c}({\mathbf {w}}, {\mathbf {v}}^0)| + |I^1_j - I_{c}({\mathbf {w}}, {\mathbf {v}}^1)|\). The pattern \({\mathbf {w}}\) is classified into the (ij)th group if \(d_{i,j}< \epsilon \) or is not classified to any group otherwise. \(\epsilon \) is a user parameter adjusted to balance the intensity error and the number of patterns in each group. We then choose the optimal set of the weaving patterns that minimize the objective function shown in Eq. 9.

Notice that, for the case of multiple target images, we have no efficient methods, such as the dynamic programming. One simple approach is a greedy search algorithm. We initialize a solution (i.e., weaving patterns in all groups) by randomly choosing a weaving pattern in each group. We next visit all groups in the raster-scan order and select the best pattern at each group such that it minimizes Eq. 9 only considering the neighboring patterns.

Expression ability of weaving patterns To deal with two target images, the optimal set of weaving patterns \({\mathcal {W}}^*\) should have enough expression ability; we have to have a weaving pattern that provides intensities \(I^0_i\) and \(I^1_j\) when viewed from \({\mathbf {v}}^0\) and \({\mathbf {v}}^1\), respectively, for all (ij) pairs. Although we have the large number of weaving patterns, i.e., \(N_w = 22,874\) for \(m = 4\), it does not mean that we can always find the optimal pattern that provides a desired intensity pair.

To analyze the expression ability of BRDFs of weaving patterns, we experiment with three different conditions where we vary viewing directions and thread types as in Fig. 13 (top). We plot intensity pairs of all \(N_w\) weaving patterns in Fig. 13 (bottom), where horizontal and vertical axes represent the intensities of patterns \({\mathbf {w}}\) viewed from \({\mathbf {v}}_0\) and \({\mathbf {v}}_1\), respectively. The distribution of each plot visualizes the possible intensity pairs of weaving patterns in each condition; the larger distribution is, the higher expression ability is. Figure 13a, b, d, e can be considered as failure cases, where the same type of thread is used for the weft and warp. It is impossible to find a pattern that provides high/low intensities viewed from \(\mathbf{v}_0/ \mathbf{v}_1\) (see the red circle in Fig. 13e). On the other hand, the relatively uniform distribution is observed when using different thread types as shown in Fig. 13c, f where various intensity pairs exist. Although the intensity ranges are limited as \(I^0_i \in [0.1,0.25]\) and \(I^1_j\in [0.4,0.8]\), we can configure possible \(L \times L\) intensity pairs within the intensity range (see the red rectangle in Fig. 13f).

The plots of three different conditions show that the BRDFs of weaving patterns have inherent limitations in their expression ability. The analysis suggests that it is important to carefully select viewing directions, intensity range of images, and thread types to improve the rendering quality for two (or more) target images. Searching such a desired set of viewing directions and thread types is an interesting future work.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Dobashi, Y., Iwasaki, K., Okabe, M. et al. Inverse appearance modeling of interwoven cloth. Vis Comput 35, 175–190 (2019).

Download citation


  • Cloth rendering
  • Inverse approach
  • BRDF