Announcement

Collapse
No announcement yet.

VRay SSS wishlist

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

  • VRay SSS wishlist

    So this is a bit of a wishlist and a bit of me trying to understand how the SSS shader works. I come with 8 years of Mental Ray under my belt, and just 9 months with VRay, so please understand if I am asking silly questions.
    I set up a simple scene with a sphere and rectangle light. The VRay fastsss2 shader was assigned to the sphere, and I started with the skim milk preset. Result below...



    Ok, simple enough. Next thing I did was simply to change the scatter color attribute from the orange preset, to a red. And the render is below. What I find striking and unexpected is that the red is taking over the entire shading, whereas the orange was very subtle before, barely perceptible on the edges. I'm wondering why the shader is behaving this way. See image below with the settings.



    I eventually tweaked the scatter radius to get a balance between what I assume is the forward scattering component (the subsurface color attribute) and the back scattering component (the scatter color), so that the sphere surface that is back lit from the light shows the back scattering, while the portion under direct light has the front scattering. I got this by increasing the scatter radius to 10. I like this behavior where back scattering and front scattering are both intense and separately seen.



    I then decided to bring in a little bit of diffuse value, in the picture below. You will notice that the scattering value has been dimmed overall, which indicates to me that the diffuse component interacts in a substractive way with the sss components. See below. While this might make sense in a 'physical' way, I believe it would be better for look development if it behaved in an additive fashion, so that the values of diffuse, and sss add up in the areas directly exposed to light. Right now, the diffuse intensity seems to be subtracting intensity from the scattering (you see the red back scatter has been dimmed), which makes it harder to build a flexible surface behavior with a bright enough back scatter.



    Also, if you happen to turn off the "scatter" attribute, you get a black render. As if the Sub Surface color component didn't matter anymore? See Below. This makes little sense to me. As far as I understand, sub surface scattering has a forward and backward scattering aspect, and here turning one value to zero seems to kill scattering altogether? Could this an implementation that needs to be revisited?



    Perhaps it is the habit of using MR, but I want to show how scattering is handled in MR. Below you will see the same scene with MR shaders and lights. I have the shader settings on the left. What I really like about the MR SSS shaders is that you can turn down the contribution of diffuse, forward and back scattering independently, without affecting the other values. This makes the shader model predictable to work with, and great for look development. Because scattering is a behavior that is dependent on scene scale, object and camera positions, etc... It makes it very easy to build a look if you can simply turn off forward scattering, tweak the back scatter, so that you know which component is contributing what reliably.




    Below are renders with each component (diffuse, front scatter, back scatter) isolated. You will notice that they behave in an additive fashion when all are activated. Sorry for the big images, I wanted to display examples that read well.







    Also, I'd love to see a VRay shader with multiple SSS components that output in separate buffers for compositing. MR's skin shader is based on research on how light scatters in skin, and organic tissue and is very good at making good skin and other organics. Here is the research in question. I encourage people to look at it. And if this isn't an area of interest for development, I'd love to take a stab at writing it. So this isis the second part of my wish list.... The first being having a more flexible SSS implementation. http://graphics.ucsd.edu/papers/egsr...sr2006skin.pdf

    I'm including the scenes I used for anyone interested in testing out.scenes.zip
    Thank you for your time.

  • #2
    +1 from me. I think vray works better overall than mr. But mr's sss shader is 10 times better, it's so much easier to work with and the results look better. So this could really be improved I think.
    I tried to recreate a good sss shader I did in mr once with vray using the same textures, but it was impossible to make the skin look as good. I spent quite a lot of time trying to copy that shader, but I never got close to how good it looked in mr. Seems you have to work a lot more with getting the skin colors right in the texture with vray, but with MR you get the colors from the scattering in the shader, that's what I came up with anyways.
    If it's possible to make the vray shader resemble the mr shader I'm all for that, but there might be some copyright/patent reasons etc I'm sure. Would be nice to hear from Vlado what his thoughts on this is.

    Cheers J
    Johan Vikstrom
    Swiss International AB - Head of 3D - www.swiss.se

    Comment


    • #3
      Originally posted by griml0ck View Post
      I tried to recreate a good sss shader I did in mr once with vray using the same textures...
      Most of the times, this won't work. The two shaders work sufficiently differently, so adjustments to the textures will be necessary.

      If it's possible to make the vray shader resemble the mr shader I'm all for that, but there might be some copyright/patent reasons etc I'm sure. Would be nice to hear from Vlado what his thoughts on this is.
      We can't do that for various reasons; the most important being the fact that the mr shader is so far from being even remotely physically accurate, that it's going to create a lot of headaches for us down the road.

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

      Comment


      • #4
        Originally posted by freedomfries View Post
        ...I'd love to take a stab at writing it.
        You are welcome to try that If you need any help, you can email me to vlado@chaosgroup.com - we can also provide you with the source code of the current sss2 shader (signing an NDA might be required though).

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

        Comment


        • #5
          Originally posted by vlado View Post
          Most of the times, this won't work. The two shaders work sufficiently differently, so adjustments to the textures will be necessary.

          We can't do that for various reasons; the most important being the fact that the mr shader is so far from being even remotely physically accurate, that it's going to create a lot of headaches for us down the road.

          Best regards,
          Vlado

          In what ways is the shader not physically accurate? This could mean a lot of things. If anything, the VRay SSS implementation would benefit from breaking out the forward and back scattering color in separate output buffers, so they could easily be controlled in comp. Never mind that MR's shader's aren't "physically accurate". Neither was a lot of things done in Render Man, and yet, in film, amazing work has been accomplished with the latter. I humbly suggest that the most important factors are flexibility and power. As for the current shader in question, some documentation on it would be great. I haven't found it yet.

          Comment


          • #6
            Originally posted by freedomfries View Post
            In what ways is the shader not physically accurate?
            I will get back to that when I have some time to do a more in-depth comparisons.

            As for the current shader in question, some documentation on it would be great. I haven't found it yet.
            The current V-Ray implementation more or less strictly follows the papers listed at the end of the docs page here: http://www.spot3d.com/vray/help/maya...ss2_params.htm

            If you would like to take a look at the shader source code, please email me to vlado@chaosgroup.com

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

            Comment


            • #7
              I think it would be good to keep the SSS2 shader but maybe make a SSS3 shader that works similar to MRs, just a suggestion.
              Johan Vikstrom
              Swiss International AB - Head of 3D - www.swiss.se

              Comment


              • #8
                +1 here as well. I'd like the ability to have multiple scatter depths similar to Arnold's SSS (Works similar to MR's SSS shader). I KNOW Arnold's SSS shader is physically accurate. I get some nice results with the FastSSS for stylized characters, but I would like more control to blend between maps at different levels of depth. I have a harder time getting photo realistic looks with SSS2.

                Are there any good tutorials or demos for realistic skin shading with SSS2?

                Comment


                • #9
                  Originally posted by tylerART View Post
                  I KNOW Arnold's SSS shader is physically accurate.
                  I don't think so. It's emulating the effect well while giving artists the control they need, but it is not strictly speaking physically accurate.

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

                  Comment


                  • #10
                    Adam lewis has done one of the rare high level digital tutors dvds on it - if you check out some of the posts on cgfeedback.com a lot of artists have posted some nice approaches there. There were a few bugs in the code of the fast sss2 material which have been ironed out on the max side, I presume they have on the maya side too.

                    The best advice I've gotten from an artist I worked with is if you're doing skin, then your diffuse colour should be white or grey - your skin has no real colour to it as such, it's all being added by the layers of blood and fat underneath so if you're painting a diffuse map leave it desaturated. In terms of the shader itself, the sub surface colour is the one at the side of the object where the light is actually hitting, and the scatter colour is the one that you'll see on the shadow / unlit side of the model. The various modes give very different looks also, so you might want to test with the raytraced modes for something more realistic.

                    Oh - and goes without saying that real world scale of objects and lwf is a must. You'll get an incredibly saturated but weak effect from the sss if you aren't using a gamma corrected approach.

                    Comment

                    Working...
                    X