Author Topic: Cloth BRDF  (Read 317 times)

2019-01-20, 02:27:09

Fluss

  • Active Users
  • **
  • Posts: 399
    • View Profile
Cheers guys!

Recently stumbled upon those papers :

https://shuangz.com/projects/procyarn-sg16/procyarn-sg16.pdf

https://shuangz.com/projects/proccloth-egsr17/proccloth-egsr17.pdf

I was mindblown by the level of realism these guys succeed to achieve with a full procedural model. I have to admit that looks pretty complex, but damn that's beautiful! Memory wise, the RAM usage presented in the last paper is not that big considering the complexity of the model. Rendertimes seems to be consequent at first but the hardware they are running is pretty old (from 2010).



Basically, they are building yarn patterns (woven or knitted) from which they generate fibers. So no need to cheat the scattering effect with fresnel curves or sheen anymore! I know you guys are busy right now and V4 will be insane but it would be good to consider a good cloth BRDF at some point ;)




2019-01-23, 11:52:08
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 8609
  • Marcin
    • View Profile
Thanks for the suggestion, but it's probably not going to happen any time soon.

We have our own hair shader already, and I _suppose_ something similar could be achieved by building a woven cloth our of splines and then using hair plugins to create hair along those splines. Then apply Corona's hair shader (which supports scattering and all that physical stuff), and voila!
Not sure about render speed and RAM usage though... I don't think anyone tried pushing hair plugins + Corona hair so far. :)

2019-01-23, 12:22:31
Reply #2

Fluss

  • Active Users
  • **
  • Posts: 399
    • View Profile
Thanks for the suggestion, but it's probably not going to happen any time soon.

We have our own hair shader already, and I _suppose_ something similar could be achieved by building a woven cloth our of splines and then using hair plugins to create hair along those splines. Then apply Corona's hair shader (which supports scattering and all that physical stuff), and voila!
Not sure about render speed and RAM usage though... I don't think anyone tried pushing hair plugins + Corona hair so far. :)

Hi maru, thanks for your feedback! Using the Corona's hair shader? Definitely! And it will probably look even better! But the whole point of this is that you do not have to create the woven geometry, everything is procedural, even the yarn curves. So you can create your own patterns procedurally and easily with a pattern generator. Then, curves are generated from that map as guide and then replaced by the fiber model. What's more the examples shown above have a 200MB RAM footprint, I doubt you can achieve this with any other method.

So basically, Input a pattern map -> Realistic cloth. It's a huge time saver and it looks insane.
« Last Edit: 2019-01-23, 12:36:32 by Fluss »

2019-01-23, 15:42:01
Reply #3

bluebox

  • Active Users
  • **
  • Posts: 161
    • View Profile
+1
Fabrics are one of the last things that more often than not scream "fake!" when looking at an image. This looks really really good.
Just like geopattern this would be a huge thing for people working for example with product viz.

2019-01-23, 16:22:34
Reply #4

lupaz

  • Active Users
  • **
  • Posts: 266
    • View Profile
Wouldn't it be better to put efforts in geopattern instead, which has way more uses?

2019-01-23, 18:37:51
Reply #5

Fluss

  • Active Users
  • **
  • Posts: 399
    • View Profile
Wouldn't it be better to put efforts in geopattern instead, which has way more uses?

If I have to choose between Geopattern and this tech to be implemented first, I'd definitely go for Geopattern because it is way more versatile indeed! It is not limited to fabrics so the cloth shader is not the priority TBH.

But you'll still need much more effort with Geopattern rather than this tech tho, just because you have to model the pattern by hand. What's more, Geopattern is useful for small repetitive cloth patches but as far as the yarn pattern is not consistent on the full mesh, it's another story. The real benefit of this is its procedural nature. You can reproduce patterns in no time.

Here is a small example (patterns don't match between examples but anyway, you got the idea):

Build the pattern with the pattern editor :



And you're done! This pattern will be used by the shader to build the yarns structure :



Then, each yarn will be replaced by a fully simulated fiber model with both dense fibers and flyaway fibers (those ones create the fuzziness). And you get control over a few other parameters :





That would be the ultimate cloth solution which is a tedious part in CGI since a long long time.