A physically based shader for woven cloth
This projects consits of three main parts:
- Irawan shading model
At its core is an implementation of the 'Irawan' shading model, as presented in the phd thesis by Piti Irawan and in the paper by Irawan and Marschner (2012).
- Library with API
The shading model is made accessible for rendering engines with added flexibilty and artistic control through a library with a simple API. This allows the model and extra improvements to quickly be integrated into custom rendering pipelines or created as plugins to more established renderers.
The library allows fast and flexible control over many parameters of how the woven cloth is to behave. The actual pattern is determined using standard weaving-drafts defined in
WIF files. Many types of patterns are freely available from fine sites such as handweaving.net.
Three plugins using this library have been made. V-Ray for 3dsMax, V-Ray for Maya and a limited plugin for Mitsuba, which includes a patch for the
mtslbend plugin for Blender. There is also a pattern editor which can be used on its own to create or alter weaving patterns. See the subfolders for these frontends for more information.
Installing the frontends
Precompiled binaries can be found under the releases tab. The zip file includes plugins for V-Ray for 3dsMax, Maya and for the mitsuba renderer.
See the respective README files for specific install instructions.
- plugin for V-Ray for 3dsMax
- plugin for V-Ray for Maya
- plugin for V-Ray Standalone
- plugin for Mistuba
- patch for mtsblend
The source code for the library and core is found in the 'src' folder. The file 'thunderloom.h' describes the API of the shader.
For an example implementaion see frontends/api_demo/.
The source code is released under the MIT Licence.
But if you happen to make something cool using this, a nice render or an improved tool, please let us know! We would love to see it! :)