Announcement

Collapse
No announcement yet.

Rendering hyper-real fabric textures

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rendering hyper-real fabric textures

    Something that is noticeable in many recent animated features is the highly detailed fabric textures on characters. In fact, the level of detail we see is higher than what you would see in a photo or film--what we might call hyper-real.

    The problem with doing this in CG in the past has been that it would result in a moire pattern and/or texture flickering. So texture filters were used to solve this, making the texture a bit blurred. The hyper-real detail of the fabric textures in lots of movies (usually done with Arnold or Renderman) indicate to me that there is some new approach that allows one to get these flicker-free hyper-real high detailed cloth textures. I wonder if someone could share what this new magic voodoo technique is, and whether it is possible to get this result in Vray?

  • #2
    You'd need to write your own cloth shader. It's perfectly doable and people have done it.

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      Any chance that Chaos will be providing one in the future?

      Comment


      • #4
        It is somewhere on the "to do" list; one of the issues is that there are many different kinds of fabric, which look in totally different ways. I.e. wool looks different from silk (which tends to have an anisotropic look to it) and different from velvet. The different looks require different shader models, and it will take some work to code them all.

        Best regards,
        Vlado
        I only act like I know everything, Rogers.

        Comment


        • #5
          OSL will give us this possibility. It will be in VRay 3 or before ?
          It looks like VRay 3 will have a lot of "bigs" features.
          Last edited by bigbossfr; 08-04-2013, 02:20 AM.
          www.deex.info

          Comment


          • #6
            OSL does not allow you to code your own BRDFs yet, so unfortunately it won't help much in that regard. We would have to code the BRDFs ourselves and expose them to OSL, so we go back to the original problem

            Best regards,
            Vlado
            I only act like I know everything, Rogers.

            Comment


            • #7
              Maybe you guys could start with the most common fabrics. Most people don't wear silk or velvet or even wool. So I would think that cotton, polyester, and denim would be the most common. Perhaps those might even be able to share the same shader model and thus be presets within that single material. Just an idea.

              Comment


              • #8
                I wanted to also clarify that what I am particularly interested in is the high detail on the cloth weave (the bump). I've attached a pic to illustrate this. In the past this kind of detail would only have worked in still, but would have caused buzzing in a render. Maybe I'm wrong, but I don't think this is a matter of a particular cloth shader so much as it is an issue of getting super detailed bump or color maps not to flicker. I'm wondering specifically about how to approach that. My concern is that even with very high sampling there would still be moire.
                Click image for larger version

Name:	cloth.png
Views:	1
Size:	360.9 KB
ID:	847294

                Comment


                • #9
                  Originally posted by sharktacos View Post
                  I wanted to also clarify that what I am particularly interested in is the high detail on the cloth weave (the bump). I've attached a pic to illustrate this. In the past this kind of detail would only have worked in still, but would have caused buzzing in a render. Maybe I'm wrong, but I don't think this is a matter of a particular cloth shader so much as it is an issue of getting super detailed bump or color maps not to flicker. I'm wondering specifically about how to approach that. My concern is that even with very high sampling there would still be moire.
                  [ATTACH=CONFIG]13740[/ATTACH]
                  Yep, or this one:

                  Click image for larger version

Name:	Carl_ties_031.png
Views:	1
Size:	273.9 KB
ID:	847313

                  I haven't tired this myself. So, if I understand correctly the current issue is with flickering? Anyone got examples of this?

                  Comment


                  • #10
                    Originally posted by Emcs07 View Post

                    if I understand correctly the current issue is with flickering?
                    That's part of it, but I think a bigger problem would be moire effect.

                    Comment


                    • #11
                      The thing is, with renderman you can do analytic shader filter. So no matter how dense pattern your source(procedural or not) texture, you can render it without those moire effect.
                      It's basically doing this, when the feature > pixel, do it as usual, when pixel width > feature pattern > .5 pixel width, this you need good pixel filter(frame buffer) and texture filter. When feature pattern < .5 pixel width, it enters the moire zone, where they can't resample properly any more. Thus, you can either spend time doing the integration yourselves, try do it in mathmatica, or try to come up with a model the describe when the feature pattern is so small that you can't even see it.(ie, velvet/anisotrpic ward/cook-torrance).

                      That's why Valdo said you need to write BRDF for those different materials. Or there is another approach which uses BTF, which is captured, and there are people working on how to retouch it( change material/adjust woven pattern), and these would render some crazy details.

                      Comment


                      • #12
                        I think OSL is very similar to RSL in that regard; so if you just want to code textures, then OSL will do a good job out of it.

                        However there is still the problem that it's more complicated than just filtering the textures - the whole BRDF needs to be filtered like we do with the car paint material. Unfortunately typically there is no analytical representation of a filtered BRDF (not in renderman either), so some look-up tables need to be precomputed, which might take a bit of RAM and slow things down a bit. We've done that as a research project, but it's not a very user-friendly process yet.

                        Best regards,
                        Vlado
                        I only act like I know everything, Rogers.

                        Comment


                        • #13
                          I agree, it's not easy to do a filtered BRDF, almost case by case. Even if you do have a BRDF for certain material( let's say wool, which is similar to light hair), the woven pattern and how tight the thread is are going to dominate the look when it's far enough. It will become a new material again, that's why clothing industry patent their woven patterns.

                          What I can see from those images, I think they are talking about how to render those really dense patterns, instead of a BRDF.
                          As far as I can think, BTF is still by far the easiest for artist, when the authoring tools are ready.(With pretty heavy memory consumption though.)

                          Comment

                          Working...
                          X