Fabric Material Playground!

We’ve added something exciting in the latest Corona 14 DailyPreview — the Corona Fabric Material!
It’s designed to make creating woven textiles easier and more realistic than ever, giving you physically-accurate shading for all kinds of materials.

Think clothes, blankets, and bedsheets — but also wicker baskets, woven bamboo, ropes, translucent lampshades, and more. Basically, if it’s woven, this material can help bring it to life.

At first glance, the parameters might feel like a lot, but don’t worry — we’ve put together a handy guide with clear explanations and examples to get you started:
How to use the Corona Fabric Material

We’d love to see what you create with it — so go ahead, experiment, and share your results!




Thanks for the guide, it was really needed

I would love if the fabric material could take multimap as input for weft and warp colour and render plaid fabrics that way.

I guess that would be a pretty niche use case, so please log it in the Ideas Portal. :smiley:

I was hoping that if it’s not too much work to implement, we could skip all that hassle with the ideas portal and enjoy new feature in the next build :]

Did you make a typo here? ;]

Has wood/natural/organic fiber shader deriving from this been considered?
Looking forward for C4D preview…

Some more shenanigans. To get this effect, you first need to downscale your bitmap to the “resolution” of the fabric. For example, if you are using 100x100 wefts x warps, then your bitmap has to be 100x100px. It’s best to use nearest neighbor filtering when downscaling. Additionally, once you load your bitmap as Corona Bitmap, set its filtering to nearest neighbor too. Optionally play with mapping to center your logo/texture and disable tiling. I also masked the logo with a procedural checker map to get interlacing.


So is it really simulating this as real geometry would be shaded or just converting to fancy normal map?

Can it do something like this? It’s randomized pattern.

Quick and dirty attempt:
I used a radial gradient to drive yarn diameter to make them appear “bulgy”.
And the built-in distortion for some randomness.
You can map many things, so probably a noise map could be used to introduce some overall variations.

The randomness here is part of pattern, vertical warp is pure grid, but horizontal weft is irregularly overlapping it.
Custom pattern requires low-res pure B&W map, how low-res is meant? Perhaps this kind of texture could be pixelized to form pattern map?

The best I could get so far. All wefts have constant diameter. Warp diameter is driven by noise.



juraj-fabric01.max (1010 KB)

That’s nice! I took your scene and tried to push it one step further. The method is not without flaws, but i think it’s possible to get quite interesting results.


juraj-maru-fabric01.max (1.07 MB)

Attempt number 2. I like this setup much better, i think it’s easier to control and understand. I also tried to match it closer to Juraj’s example, not perfect still, but pretty close.


juraj-maru-fabric02.max (964 KB)

Ok, this is really clever!

Oh much thanks guys :- ) Gonna test right away when I install 14. This thing is procedurally tiled? I.e no visible repeat pattern?

You mean Corona fabric? Yes, of course it’s completely seamless.

The setup is completely fine, and it can be even simpler :smiley:

I’m pretty sure that if you’d zoom out your fabric it would show very distinct procedural noise pattern. In real world strands thickness is random and does not depend on thickness of it’s neighbours. It doesn’t seem too obvious in close-up, but once you zoom out it starts looking very artificial and fake.

Not quite :smiley: if noise is small enough and it is properly tiled, it can look just as good.
Of course randomization is in the nature of the pattern, and it does work well for it.


A heads up for you guys in need of procedural fabric patterns. There’s a new OSL map and it looks quite good, seems to be free, too, and the creator shares it here:
https://github.com/foxtuon/OSL-Shaders/tree/main/Thread-Weaver

Here’s the original Reddit thread (it’s posted on the Redshift subreddit but seems to work in fine in Max/Corona, just tested it briefly):
https://www.reddit.com/r/RedshiftRenderer/comments/1pl59dr/threadweaver_procedural_fabric_osl_shader/

The documentation is a bit thin, I couldn’t really find anything, so you’ll have to play around and decipher it for yourself.
Disclaimer - creator say this: ‘…I was targeting generic and abstract fabric look. I would love to see if you can dial it to render specific pattern design’, so it might not be for everyone but going by the examples it offers quite a range of possibilities.

Please don’t be mad if it’s not good enough, just linking here and thought it might be useful to someone.