Announcement

Collapse
No announcement yet.

BRDF tests

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

  • BRDF tests

    Hello,

    I did some tests on some of the BRDF available in V-Ray, to highlight the possible differences in terms of speed. And there are.

    For the sake of speed ( on my side ), I did the test in my Cornell Box scene, but I think it's a too simple scene to give a final judgment about this subject ( and I don't know if it's a good idea or even possible to give a final advice on this ).



    A - simple flat colors

    A simple render with flat colors and all the materials BRDF set on GGX or Blinn ( walls, objects ). No post.







    This one is really simple but shows no significant differences, except a little advantage in favor of the GGX.
    Last edited by John_Do; 07-03-2018, 12:48 PM. Reason: fixing images

  • #2
    B - with textures


    In a second time, I have added some textures as to increase a bit the render times, the material computation and widen the gap between the different kind of materials. A bit of post-processing to correct the white balance, brighten the image and add some contrast.








    As you can see, the differences are clearly noticeable :

    V-Ray Mtl GGX : 1.0 ( reference )
    alSurface GGX : 1.7x / faster
    alSurface Beckmann : 1.6x / faster
    V-Ray Mtl Blinn : 0.9x / slower


    However I can't explain why alSurface gives a totally different GI result because I have setted up materials in the same way. So I guess GI might be a potential bias in this test.

    I have gathered the data in a Google Sheet table if you like numbers.

    Let me know if you have some examples or did some testing on your side with some results to share.


    EDIT : these numbers are valid only if you're planning to use GI caustics, see below for render times without GI caustics, it's also a much more correct comparison between BRDFs
    Last edited by John_Do; 08-03-2018, 08:36 AM.

    Comment


    • #3
      As far as I understand, GGX implementation is different between rendering engines, so out of box they might not look the same and they will not be as fast.
      But with Vray you have GGX tails falloff that you can use to control how your highlights look. This is one of my fav features of Vray really and allows a lot of flexibility.
      With GGX tail falloff you can control how GGX will affect the rendering time also, but the idea behind it is to control how the highlight falloff looks. The added render times when using GGX tail falloff of 1.1 for example is totally worth it for the realism and detail you get.
      It would take you several layered materials blended together in other engines just to match GGX tail falloff of 1.1 for example with metals.
      In your second post, I cannot see the images for some reason. Could you upload somewhere else, please.
      Muhammed Hamed
      V-Ray GPU product specialist


      chaos.com

      Comment


      • #4
        Before GGX was implemented in Vray, we used to layer 3 Vray materials in a blend material to get realistic highlights for metals and plastics. This was time consuming and way slower in rendering than just using GGX
        Who cares if GGX is slower than blin or Ward? You should always use GGX for all your materials.
        Muhammed Hamed
        V-Ray GPU product specialist


        chaos.com

        Comment


        • #5
          Images fixed, thanks for the info Muhammed, I saw the images on my side so I didn't noticed it.

          For the rest, did you read what I wrote ? GGX is faster in all cases, with little margin, but still faster.
          Even when I try to visually match the glossiness of Blinn with GGX ( so I set the Tail Falloff to something like 5 and lower the glossiness ), GGX is still faster.

          I don't know what you mean by using different render engines, I have only used V-Ray for theses tests, alSurface is the one provided in the V-Ray Material list

          alSurface GGX seems to be the fastest but I'm not confident about this, GI caustics don't seem to be computed with it.
          Also I want to try a real world case scenario, with much more surface covered by the materials and various angles visible from the camera.

          Comment


          • #6
            I did read everything, but I should have explained more. Sorry about that.
            Let me explain more what I meant. I talked about GGX implementation in different render engines, because ALsurface was written for Arnold, then Vlado brought it to Vray. It is using different GGX implemetation than other Vray materails.
            In your testings, GGX is faster than blin and ward. That is definitely a good point.
            But in many cases GGX is slower. Try 1.1 GGX tail falloff with Chrome that has reflection glossiness of .9 or so
            It is common that some users will use blin becasue it is faster with plastics or metals. Even the Vray documentation recommends blinn for plastics and ward for metals which is not true.
            GGX should be used in all cases.
            Muhammed Hamed
            V-Ray GPU product specialist


            chaos.com

            Comment


            • #7
              Indeed, alSurface was coded for Arnold and not V-Ray initially, but the fact is it's faster in this case. But yes, there is no control of the tail falloff and it's too bad, since I'm really enjoying this on the V-Ray Material.

              I'll try what you describe but I already have tested the GGX with a visual glossiness matching the Blinn's one. Looks the same but GGX is still faster. It doesn't mean that it will be faster in all cases, but at least we can't say that GGX is consistently slower than Blinn.

              In addition 1.1 tail falloff doesn't match Blinn look, it rather the inverse, like 4 to 5 values, so I must say I don't see the point of doing this.

              I did some tests without GI caustics, almost 1 min gained, but alSurface remain the fastest followed closely by V-Ray GGX then Blinn.




              I have also updated the table :



              Comment


              • #8
                One last test in the Cornell Box with the values suggested by Muhammed, a simple metal with a value of 1.1 for the tail falloff and glossiness around 0.90




                Unsurprisingly GGX is still faster since it's look isn't reproducible with a simple V-Ray Material with Blinn BRDF, but with a Blend material and 4 sub-materials. So the rendering time has gone up quite a bit.


                Last edited by John_Do; 08-03-2018, 08:33 AM.

                Comment


                • #9
                  Thanks for all testings, John
                  This is exactly what I meant.
                  Before GGX were implemented in Vray, we used to layer multiple blinn hightlights to get the Complex GGX look. This was a lot of work and render time.
                  And still in other render engines until now GGX won't be enough for matching things like shiny gold, metallic carpaint and others. You will need to layer multiple materials with GGX to get complex highlight falloffs
                  Only in Vray you have the ability to control this using one slider, hence this is one of my fav. features of Vray. GGX tail falloff could even be mapped with textures!
                  There are a lot of possibilities.
                  Muhammed Hamed
                  V-Ray GPU product specialist


                  chaos.com

                  Comment


                  • #10
                    Some news. I did a quick test in a scene I used for a recent project :





                    ( the render time tag is broken in the bottom stamp )

                    I did a render with all the materials in GGX, then converted all the materials to Blinn.
                    Blinn is a little bit faster in this case, around 7% in speed difference. Depending of the resolution of the final image and the complexity of your interior scene, the gap may be greater.

                    EDIT : I did also a quick test ( = rough conversion of V-Ray Mat to alSurface without refining glossiness level by hand ) with alSurface materials, thankfully I tried on this scene and not only in the Cornell Box : the render time increases by roughly 30%.

                    It will be up to you to decide if the difference in speed is worth the look But note that it's far from a methodical and scientific approach, and so you have to consider the results with a pinch of salt. It's more to show the potential gap in render times between several BRDF's rather than to say "A is better than B, use it". The best BRDF depends on your needs and your scene.



                    Last edited by John_Do; 12-04-2018, 02:13 AM.

                    Comment


                    • #11
                      Is it rendered using default Vray Materials or alSurface? I'm asking because your tests in first post show that alSurface material renders faster than vray material

                      Comment


                      • #12
                        Originally posted by Cry0 View Post
                        Is it rendered using default Vray Materials or alSurface? I'm asking because your tests in first post show that alSurface material renders faster than vray material
                        Hello Cry0,

                        Thank you for pointing this, I did a very quick test and have updated the chart. In this case alSurface is way slower than the native V-Ray Materials. However I used it in all the previous test for the marble material, it's SSS is great and really easy to setup.

                        Comment

                        Working...
                        X