Announcement

Collapse
No announcement yet.

GTR and animation fireflies

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

  • GTR and animation fireflies

    Has anyone been experiencing white fireflies when using the GTR BRDF in animations? Any animations scenes since it's introduction have given me issues and I've had to resort to Ward. I'm not using any GI and no sub-pixel mapping. Any ideas?

    Click image for larger version

Name:	Capture.JPG
Views:	1
Size:	54.8 KB
ID:	881511

    Thanks

  • #2
    Do you mean GGX right?
    We've experienced similar behaviours, i was just going to do some tests these day.
    So far my solutions have been or pumping up A LOT glossy subdivisions/AA or reverting to ward as you did, but i guess there must be a more practical solution from the renderer side.
    KCTOO - Directors

    Comment


    • #3
      Yes, GGX. It seems to be an adaptive image sampler issue. Adaptive subdivision seems to fix the issue, but is not preferred and causes more issues than it fixes.

      Comment


      • #4
        IS your "max ray intensity" enabled?
        Chris Jackson
        Shiftmedia
        www.shiftmedia.sydney

        Comment


        • #5
          Can any of you get me a scene where this can be reproduced?

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

          Comment


          • #6
            Originally posted by vlado View Post
            Can any of you get me a scene where this can be reproduced?

            Best regards,
            Vlado

            Ok, so i managed to try and reproduce this problem.
            I thought it was more or less a general problem with ggx needing more sampling (and it still is, i mean, with more glossy subd it tends to be removed), but with these simpler tests i think it just goes a bit crazy when the incidence angle of the camera starts to be very hard.
            I made two scene, and here are two images. I think the first better shows this. Of course for a still it doesn't seem to be a problem, but with an animation where this small fireflies change every frame it gets really visible.
            I pumped up the exposure on the images to better show it, let me know if you need anything. You may need to download and see the images at their original resolution, it can be difficult to spot these small single pixels.

            Studio-like beauty shot

            Click image for larger version

Name:	ggx_fireflies_prodscene.jpg
Views:	1
Size:	370.5 KB
ID:	855674

            ggx_fireflies_prodscene.zip

            Teapot test scene

            Click image for larger version

Name:	ggx_fireflies_teapot.jpg
Views:	1
Size:	336.8 KB
ID:	855676

            ggx_fireflies_teapot.zip
            Last edited by kagemaru; 27-03-2015, 04:44 AM.
            KCTOO - Directors

            Comment


            • #7
              I think that's a different problem from the isolated bright speckles that the guys above have.

              GGX has a longer tail which means that it tends to reflect from other directions as well, and not only from the perfectly specular direction. It's importance sampling is also not perfect in those cases, and it comes out noiser. You can improve this by increasing the tail falloff a bit, f.e. 2.5 might work better. Or you can maybe use a falloff map to make the glossiness higher at low angles.

              Some other renderers seem to try to solve the problem by truncating those very bright contributions at low angles, but this leads to overall darkening of the surface.

              It may be possible to improve the sampling for these cases - will need to think about it...

              Best regards,
              Vlado
              Last edited by vlado; 27-03-2015, 06:22 AM.
              I only act like I know everything, Rogers.

              Comment


              • #8
                Originally posted by vlado View Post
                I think that's a different problem from the isolated bright speckles that the guys above have.

                GGX has a longer tail which means that it tends to reflect from other directions as well, and not only from the perfectly specular direction. It's importance sampling is also not perfect in those cases, and it comes out noiser. You can improve this by increasing the tail falloff a bit, f.e. 2.5 might work better. Or you can maybe use a falloff map to make the glossiness higher at low angles.

                Some other renderers seem to try to solve the problem by truncating those very bright contributions at low angles, but this leads to overall darkening of the surface.

                It may be possible to improve the sampling for these cases - will need to think about it...

                Best regards,
                Vlado
                Of course you are right, the op case can be different from my examples, but we had a similar behaviour, these tests i made are made up almost only by reflection while we had situations were more diffuse shaders were involved and those speckles came out in a similar fashion, just more "visually random" because a diffuse contribution was present.
                This is a screen from a render we are doing at the moment, the surface is highly irregular and there were plenty of those fireflies that went away with a ward brdf or pumping up ggx glossy subdv.

                Click image for larger version

Name:	ggx_fireflies_prodscene_el.jpg
Views:	1
Size:	304.1 KB
ID:	855679

                As you said, since ggx has this more complex tail, of course it was going to need more samples to be cleared: things is that in situation like these the noise/fireflies we get it's much more visible than one of a typical low dmc settings (that sometimes could be accepted as film grain), cause this pixel-sized variations really gets the eyes attention in animation.
                The solutions you gave have their effects and can be used (thanks btw), but they are more workarounds then anything else and give us a quite different output.
                I would say that the "truncate" solution is more production oriented: i would go a "slightly less bright but clearer image" against a "perfect bright but fireflied imaged" any day of the week, especially if i think that everytime one of the guys here use ggx i would have to fear the dreaded speckles
                Ggx really is a step ahead.
                And again, speaking about different darkening, in the same example as before, if i pump up the glossy subdv to 96 from 32, fireflies go away but as you can see if you do a before/after, the image gets darker anyway.





                Anyway i can't stress enough about the great support you guys give us, thanks again.
                Last edited by kagemaru; 27-03-2015, 07:33 AM. Reason: changed images
                KCTOO - Directors

                Comment


                • #9
                  I've had quite a lot of problem with fireflies in a ggx shader aswell.
                  When doing some fabric shaders, mimicking the falloff of a shader, which reacts to lighting, I quite like the result of lowering the tail falloff to a pretty low number. However this seemse to be where the firefly issue gets very noticable. If you combine it with some anisotropy you gets huge issues.

                  Before i've been able to fix fireflies in reflections by turning on subpixel mapping and clamping (on some value between 1-10). This does however not fix this issue. Neither does the new max ray intensity setting.
                  The only thing that seemse to reduce the fireflies is by increasing the reflection subdivs on the shader by very high numbers.

                  I've made a quick scene that should replicate the problem. (however its a maya scene)
                  But im not sure if im allowed to upload it as it says; invalid file, when I try to.

                  But these settings should replicated the problem clear enough I belive (and what I used in the preview below):
                  Glossiness: 0.6
                  GGX tail falloff: 0.5
                  Anisotropy: 0.75
                  Anisotropy Rotation: 0.25
                  IOR: 1.85

                  Click image for larger version

Name:	ggx.PNG
Views:	1
Size:	289.9 KB
ID:	855681
                  CG Artist - RnD and CG Supervision at Industriromantik

                  Comment


                  • #10
                    Originally posted by Algehov View Post
                    I've made a quick scene that should replicate the problem. (however its a maya scene)
                    Thanks, will see if we can improve this.

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

                    Comment


                    • #11
                      Originally posted by vlado View Post
                      Thanks, will see if we can improve this.

                      Best regards,
                      Vlado
                      Thats great! Thank you
                      CG Artist - RnD and CG Supervision at Industriromantik

                      Comment


                      • #12
                        Hi,

                        same issue here, do you have any update about it ?

                        Thanks,
                        Jop

                        Comment


                        • #13
                          Except for the case of anisotropy that Algehov posted, not really - I think no-one actually provided a scene.

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

                          Comment


                          • #14
                            May I ask what's the reflection amount set to?
                            Historically, even with the simpler BRDFs at the avail (phong/blinn.) fireflies were caused bay super reflective shaders, WELL outside of the physically plausible bounds (ie. pure white, or thereabout, reflectance.), in conjunction with bright lights (even if those were in the physically plausible ranges.).
                            Ward, and all the more so GTR (GGX is a specific GTR domain case, when Gamma, or lobe-to-tail ratio, is at 2.0), especially when set to anisotropic, would exacerbate the issue, due to the much more complex behaviour those BRDFs sport.

                            For example, it's very common to find glass shaders with a pure white reflectivity, when in reality, for most of the glasses found in nature, the reflectance never goes above 15%, and it's often much lower. Some coated ones may be higher, but never near 100%.
                            That you should see issues at extreme grazing angles, under fresnel, it's only obvious, as that's where the full reflectivity values comes into full force.
                            cfr: http://glassproperties.com/reflection/

                            I'm not saying there isn't an issue to fix on our side, mind you, as i wouldn't know about that, but without a scene, and a thorough look at the setup, it's not a given the issue is with the code, either.

                            edit: glass is just an example. most hand-crafted shaders sport albedos WELL in excess of their real life counterparts, so the concept applies across the board.
                            Last edited by ^Lele^; 28-04-2016, 05:53 AM.
                            Lele
                            Trouble Stirrer in RnD @ Chaos
                            ----------------------
                            emanuele.lecchi@chaos.com

                            Disclaimer:
                            The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

                            Comment


                            • #15
                              That's true, Lele, but the sampling for the GGX can definitely be improved; in fact it will already be somewhat better for the 3.40 release.

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

                              Comment

                              Working...
                              X