Inverse appearance modeling of interwoven cloth


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.

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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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).

    Article  Google Scholar 

  8. 8.

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

    Article  Google Scholar 

  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).

    Article  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  11. 11.

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

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    MATH  Google Scholar 

  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).

    Article  Google Scholar 

  15. 15.

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

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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).

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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).

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  22. 22.

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

    Google Scholar 

  23. 23.

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

    Article  Google Scholar 

  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).

    Article  Google Scholar 

  25. 25.

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

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Google Scholar 

  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)

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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)

    Google Scholar 

  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)

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Google Scholar 

Download references


This work was supported by JSPS KAKENHI Grant Number JP15H05924.

Author information



Corresponding author

Correspondence to Yoshinori Dobashi.

Electronic supplementary material

Below is the link to the electronic supplementary material.

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