Announcement

Collapse
No announcement yet.

Archviz animation fireflies best practice

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

  • Archviz animation fireflies best practice

    I'm currently writing a little checklist to try to minimise fireflies in our animations. After searching the forums and our experience on the last animation I've come up with the limited list below. ^Lele^ are you able to give any insights on them if needed / incorrect? It's based on general exterior / interior archviz animations with cars, water etc..


    Materials
    - check materials aren't full white or have 1.0 glossy value
    - Jaggy edges for lights (light material & vray lights) can be lessened with a softbox texture with frame mode active (see https://forums.chaosgroup.com/forum/...55#post1106055)
    - Set vraylight to invisible for specular iirc

    Render settings
    - Tweak max ray intensity to lower values
    - Increase retrace value
    - Increase image filter size (between 2-4.5px)

    Lighting
    - If using a HDRI clamp it (see https://forums.chaosgroup.com/forum/...44#post1122744)
    - If using Vray sun make it invisible (for example for VRayCarPaintMtl)

    Denoiser
    - Intel denoiser is better at filtering bad pixels
    - Post denoiser with more frames?


    Any insights or additions / corrections are more than welcome, thanks!

  • #2
    Originally posted by dean_dmoo View Post
    Materials
    - check materials aren't full white or have 1.0 glossy value
    Correct. The lower the gloss (i.e. the rougher the material) the more the energy will be distributed (and, currently, lost. that may change, however, in a little while.).
    - Jaggy edges for lights (light material & vray lights) can be lessened with a softbox texture with frame mode active (see https://forums.chaosgroup.com/forum/...55#post1106055)
    Correct, surely for square area lights. Ofc with lightMtl it will depend on the mesh's UVs.
    - Set vraylight to invisible for specular iirc
    It may not apply anymore, as reflection and specular are now slightly different, under the hood, than they were.
    It may help, surely, reducing long rendertimes if the specular was very hot, but it will also lose the specular altogether.
    Use with caution.

    Render settings
    - Tweak max ray intensity to lower values
    Yes and no. MRI works well for GI, not so much for reflections, which are often where fireflies generate from.
    I generally have it off entirely, and rather prefer to use, say, a second clamped version of the HDRI in a dome for reflections/specular, so that i have more control.
    - Increase retrace value
    This will chiefly help with light leaks and stability of the GI solution in animations.
    It may also help in some specific case with reflections, but am unsure if it would help for fireflies.
    - Increase image filter size (between 2-4.5px)
    Umh, i wouldn't, at least for fireflies.
    It has a potentially big performance impact, regardless of what is being rendered, depending on the filter type.
    But a bigger kernel size will always render slower.
    There's a chance it'd also "splat"/"blur" the fireflies, making removing them in post (more of this further down) difficult or outright impossible.
    It would however surely reduce edge crawling across animations, through softening the image. (I assume no one uses sharpening filters anymore.)

    I could add two points here about sampling.
    *) Max subdivs for the sampler:
    We've seen instances of incredibly high sampling (like, 256. That is 256 rays *squared*, or 65k camera rays per pixel. Plus the secondaries, by default some 393k rays per pixel.) used to cure exceptionally bright HDRs (like, +inf) which would cause leftover specs at lower sampling.
    That is doable, but *exceptionally* expensive to compute.
    If 100 max subdivs leave noise, it's *extremely* more convenient to make changes to the scene (the earlier, the better, so the changes in look can be taken care of before the approval process begins.) than to just crank AA up and send it to render, be it a still or an animation.
    You'll thank me when no buckets will stick for a day or two.
    *) Use the SampleRate and NoiseLevel REs *as early as possible*.
    And keep referring to them to find out which part is taking up the rendertime as you build up the scene and lookdev the shaders.
    At the very least, it'll save you from nasty surprises come rendertime (ofc, for sequences, do "sample" renders of specific frames.), and in the best cases it will catch out some mistake and allow for a fix.

    Lighting
    - If using a HDRI clamp it (see https://forums.chaosgroup.com/forum/...44#post1122744)
    Correct. This kind of clamping, however, won't respect the original hues (say, a yellow/orange sun disk), so the parts to be clamped *should* be sampled, and the clamping color adjusted to match its hue.
    It can be done in post, or through rendering the HDR as environment map, in the VFB itself.

    - If using Vray sun make it invisible (for example for VRayCarPaintMtl)
    Correct, and a very good idea in general: no one will see the sun disk anyway, most of the time, as the glare in the atmosphere will cover it.
    The disk itself can go to around 3 million float, depending on time of day, while being *very* small in angular size (i.e. its size projected over the sky dome).
    And we know that very intense, and very hard to find, light fixtures will produce fireflies.

    Denoiser
    - Intel denoiser is better at filtering bad pixels
    Yes, but it -yet- doesn't do a very good job on some other details.
    It also shares the same issue as the post methods below.
    - Post denoiser with more frames?
    If fireflies are individual pixels, or very small clumps (say, two to five), then it's trivial to write a firefly remover in post. (attached, the one i made years ago for nuke. It comes without support, though.).
    However, i have yet to see anything able to do a good job with bigger clumps.
    Feel free to apply my gizmo multiple times to the same image/sequence, as it will remove progressively more fireflies, each time.
    At some point, however, it will run out of luck (read: data to fill in the firefly pixels with.), and produce varying degrees of garbage.

    In general, if i was to think of an overarching guideline, i'd go for "be frugal, stay in control".
    Don't make lights needlessly small or needlessly intense, shaders needlessly sharp and needlessly bright, motion needlessly quick, and ultimately, sampling needlessly high.
    And *always* use the diagnostic REs to figure out what is happening to the scene as soon as possible in the production process.
    Attached Files
    Last edited by ^Lele^; 24-08-2021, 11:13 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


    • #3
      Thanks ^Lele^ , really appreciative the input!

      The workflow you posted a while ago (exr's) looks to work well for us, so thanks for that aswell

      Comment


      • #4
        Originally posted by dean_dmoo View Post
        Thanks ^Lele^ , really appreciative the input!

        The workflow you posted a while ago (exr's) looks to work well for us, so thanks for that aswell
        The one with Tiled textures?
        If so, remember than now it's about .tx (which also supports 8bpc!), although the converters shipped with V-Ray will take care of it transparently.
        Regardless, i'm glad if it helped, you're very welcome!
        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


        • #5
          A big image filter (1.9-4.6) (using the soften filter, not the default or even area) looks terrific, like a real lens! And it does cut down on fireflies (depending on the cause), or at least makes for beautiful fine highlights on things like rounded edges.

          It is a little slower to render, but often not by a lot, typically 5-30%

          Definitely worth testing if you haven’t tried it. Especially for animations.

          We use it on most projects, unless it is some product thing that needs to be artificially sharp.

          The default image filter setting looks very sharp and fake to my eye- not at all like a real lens.

          YMMV

          Comment


          • #6
            Thanks Joe,

            We'll be testing the interiors from monday so will try this.

            Comment


            • #7
              Originally posted by dean_dmoo View Post
              Thanks Joe,

              We'll be testing the interiors from monday so will try this.
              Take note of what Lele said as well. For tiny speck fireflies it may not help, and may hurt. For edges and fine details I much prefer it.

              Add a hint of post sharpening (like darn near every camera does now) if you find it too soft.

              Comment


              • #8
                Yeah will be interesting to see the differences. We are doing a large public swimmingpool with mulyiple spaces and pools so can use both filters and see the effect side by side. Do you have a link to your website or videos to see it in action?

                Comment


                • #9
                  I find all that has been said very valid indeed.
                  I may add a side note: if the render is going to get post-processed, it's better to start sharper.
                  If you'll finish it off in-camera, lens effects and denoising done in the VFB, then sure, you can have a slightly softer image to begin with.
                  It's always simpler to blur than it is to recover sharpness, once the render is done.
                  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


                  • #10
                    After our last experience (and frustrations) we've really tuned down the toning in vray (only lowered burn in the settings) and moved it all to da vinci resolve.

                    Now the focus is to get as clean as possible results out of vray and minimise potential fireflies and artifacts. Good point about the soften filter.

                    One element that I haven't figured out, or am doing it incorrectly, is getting an rgb pass without lens effects and a separate pass with glare. Is it correct that if you turn on the lens effects it gets baked into the rgb pass instead of adding an rgb effects pass? Which is the case when turning on the denoiser, you get the untoned rgb pass and a toned denoised pass (with or without glare if turned on or off).

                    Maybe the trick is to use the denoiser pass but manually tuned down to minimise what is does and turn on the lens effects. Then, i'm assuming you would get the, in our case, unburned rgb pass, a effects pass with lens effects, a glare pass and (if set up) the denoiser info passes to use the vdenoise tool on the rgb pass if needed.
                    Last edited by dean_dmoo; 28-08-2021, 03:29 AM.

                    Comment


                    • #11
                      You can get the glare RE (note: as normal 0.0-1.0, currently. memorise the intensity multiplier as the RE will need to be re-multiplied in post.) if you turn the effect on, and the visibility (eye icon) off.
                      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


                      • #12
                        Ok, didn't realise it worked like that. Because with the denoiser turned on it auto updates and they both get turned on ignoring the eye icon setting. (When the effect is turned on). Somewhat logical I guess when the denoiser is set to update every 3 passes.

                        Comment


                        • #13
                          We crammed a lot of functionalities in the VFB2.
                          Ensuring we're rational across the board is hard, ensuring we're obvious too is currently harder still.

                          We're doing research on UX, though.
                          I feel we'd need to be node-based, lol. (do NOT tell Yavor i said this!)
                          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


                          • #14
                            Yeah there a few of these instances that based on how you work don't seem logical. But looking from a different perspective seem fine. Personally I just prefer a couple of on/ off switches (effect on/off, pass(es) saved separately on/off, effect pass single of merged on/off*).

                            I probably wouldn't have figured it out based on a stills workflow and only because of the animations and forum discussions that I know now.

                            * To get a separate effects result pass for the denoiser and lens effects.

                            Comment


                            • #15
                              Originally posted by ^Lele^ View Post
                              I find all that has been said very valid indeed.
                              I may add a side note: if the render is going to get post-processed, it's better to start sharper.
                              If you'll finish it off in-camera, lens effects and denoising done in the VFB, then sure, you can have a slightly softer image to begin with.
                              It's always simpler to blur than it is to recover sharpness, once the render is done.
                              The last bit a lot easier to blur is absolutely true, but a larger image filter effect can’t be made by a post blur. (Unless you render 8x or more larger and scale down.)

                              It’s like the difference between real oversampling AA and post process AA (like the old Jaggies Are gone software). The data simply isn’t there.

                              It’s something we at least try on every shot; then we weigh the advantages against the disadvantages (speed, is it TOO soft?, etc. )

                              Comment

                              Working...
                              X