New BSDF setup produces Fireflies

Issue #1570 resolved
Rob Inters created an issue

Hello Thomas and Alessandro,

I've recently noticed that hair now generates a lot more fireflies in the render than it did in previous versions of the BSDF shader.

I tested it with the following Setup:

-1.7.0.1314 Old Diffeo Version + Blender 3.4.1

-1.7.1.1592 New Diffeo Version + Blender 3.4.1

-Daz Hair: https://www.daz3d.com/nelson-hair-for-genesis-8-males

-All render-settings were the exact same and can be seen in the screenshots below.

Render with Old Diffeo (almost no Fireflies):

Render with New Diffeo ( a lot of Fireflies):

Just wanted to ask if the BSDF shader could be adjusted a bit to generate results similar to those from the earlier BSDF versions when there were hardly any Fireflies.

Comments (15)

  1. Alessandro Padovani

    Will check and let you know.

    There should be no difference I don’t recall we changed any hair material. Unless it comes from “metallic flakes” that we added support for.

  2. Alessandro Padovani

    daz studio 4.21.0.5, blender 3.5.1, diffeomorphic 1.7.1.1595

    bug. weighted translucency.

    Ok I got the culprit. It seems translucency is always imported as sss for the weighted mode. Even for bsdf materials. This is a bug in 1.7.1 while 1.6.2 works fine. Please note that bsdf materials should never use sss unless the “sss skin” option is checked, and even so, sss should be limited to skins (volume + translucency), not to be used for translucency alone.

    steps:

    1. import the test scene weighted.duf with bsdf materials, that’s a translucent sphere in weighted mode
    2. check the material, it is converted as sss instead of translucency

  3. Thomas Larsson repo owner

    Fixed in last commit. The plugin used the same check for translucency and volume. In version 1.7.0 volume was turned off for thin walled materials, which disabled translucency as well. We can now have translucency without volume.

  4. Alessandro Padovani

    Commit daf5c35 works fine as for translucency thank you Thomas for the fast fix.

    possible bug. unused textures. There’s something odd with “build unused textures” though. The sample scene has no top coat, that is, the top coat weight is zero so no top coat is available in daz studio. Nevertheless, if I set “build unused textures“ in the global settings then the textures for top coat are imported.

    I believe the plugin should only import unused textures that are not used by the current material method, as for example when we import with single principled. It should not import unused textures that are not used by daz studio itself.

    But this is minor, let me know what you think, if you like it this way on purpose then we can close as resolved.

  5. Thomas Larsson repo owner

    The idea with loading unused textures is to give the user access to all textures in the scene, even those that are not used. This is for advanced users who want to edit the materials in Blender. So yes, it is on purpose.

  6. Rob Inters reporter

    Hello Thomas and Alessandro, I think the Fireflies are back on certain hair; something must have changed in the most recent upgrades because it was working well just a few days ago.

    -Daz Hair: https://www.daz3d.com/top-updo-for-genesis-3-and-8-females

    I know it's OOT's hair and it's not entirely supported. But it was fine a few days ago and now it’s just full of fireflies. (see screenshots below)

    I tested it with the following Setup:

    -1.7.0.1314 Old Diffeo Version + Blender 3.5.1

    -1.7.1.1621 New Diffeo Version + Blender 3.5.1

    Render with Old Diffeo (almost no Fireflies):

    Render with New Diffeo ( a lot of Fireflies):

  7. Alessandro Padovani

    https://www.daz3d.com/top-updo-for-genesis-3-and-8-females

    Yes I can confirm that in this case the plugin gets confused by the OOT custom shader and sss is used even if we select bsdf as material method.

    @Thomas Larsson I know we don’t support custom shaders, but using sss with bsdf is a bug anyway. I mean sss should never be used with bsdf in any case, we use volume + translucency instead. Let us know if you want to look at this.

    @Rob OOT shaders are not supported. You can convert to uber before exporting by applying the uber shader. This is crystal clear and cannot be considered a bug. Then we wait for Thomas if he wants to improve the situation, but errors are expected in any case for custom shaders.

    https://bitbucket.org/Diffeomorphic/import_daz/wiki/Material Methods

  8. Thomas Larsson repo owner

    This bug was probably introduced when fixing #1583. There we have conditions for using translucency and volume for iray and pbrskin. However, other shaders were not discussed, so in that case I disabled both. The last commit enables translucency for unrecognized shaders, but keeps volume disabled to avoid haze in eevee.

  9. Log in to comment