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.
- Frontends/plugins
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.
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! :)