Getting rid of fireflies in Luxcore scene

Hello. I made a scene to show off caustic light effects and rendered it using the Luxcore engine integrated with Blender. Unfortunately I ended up with fireflies that I couldn’t figure out how to get rid of and rendering for additional time didn’t seem to make any progress on removing them. (1 hour vs. 4 hours didn’t make any difference in the scene). I thought that maybe they could be caused by the displacement modifier I was using on the dice for the numbers and the high face count so I tried removing the displacement modifiers but ended up with the same results.

Any ideas what settings I might need to tweak to help reduce the fireflies? By fireflies I mean the grain in the caustic effects so the meaning is a bit different than when you talk about “fireflies” in something like cycles.

Let me know if you need the file or if this isn’t the appropriate sub-forum for this question. Thanks.

Happy to help, but really would need to see the scene to know what kind of rendering settings are used.

Is it using LuxCore materials or converting Cycles ones? Light tracing would really help with this scene.

I didn’t use Cycles materials. I tried to use the native Luxcore materials.

Here is a link to the packed blend file. A couple of the textures aren’t included, but you’ll get the idea.

I changed your “point” lights to “area” set it to square with a size up to 10. When it comes to fireflies you should always use big area lights, no matter of the render engine.
But this was just a fast one, with some tweaking you will get it closer to your imagination.

1 Like

It’s a nice scene, congrats on your high placement in the voting (still ongoing at the moment).
Below are some tips, I hope they help. And I hope it’s not too overwhelming :slight_smile:

The following caches are not useful in this scene and should be disabled: DLSC, Env. light cache, indirect light cache. This saves a lot of startup time.

Light tracing is enabled, but with a glossiness threshold of 0.049 it is not used for the dice materials because they have a roughness of 0.05. You can raise the threshold to use light tracing for these caustics.

I also changed the light rays percentage to 100% because I’m rendering on both CPU and GPU (CPU does 100% light rays, while GPU does the rest). If you render on CPU only, you might want to change it back to something like 50% or so.

In the caustics cache settings, I would disable “periodic update”, because the caustic cache entries are only seen through very rough glass in this scene, so the first pass is good enough and we can save the performance penalty of rebuilding every x samples.

To reduce the noise variance I also enabled clamping.

I raised the sampler’s adaptive strength from 0.5 to 0.9 so it focuses more on noisy parts of the image.
(the default should probably be a bit higher).

Even after the corrections mentioned above, the scene is not the fastest, this is just due to all the rough glass requiring a lot of brute force - clear glass would clear up much faster.

Side note: you are using the transmission color to color the glass, this is not physically correct, it would be more accurate to use a clear interior volume with colored absorption (you can use the “colored glass” preset in the material property panel as an example).

Here is the fixed file: dice-luxcore_b.blend (2.6 MB)
Open with BlendLuxCore v2.3rc1 or later.
(you’ll have to fix the textures of the two dice, I changed them to textures that were packed in the .blend because they were missing)

And the rendered results:
(1000 samples, 6 minutes on RTX 2080 + Ryzen 7 2700x)




Looks like I go to sleep and everything’s done :laughing:

BYOB’s advice is of course spot on, I was able to get a decent render on my laptop in ~7 minutes on my laptop (Quad Core i7) on the train with similar settings and denoiser :slight_smile:
Didn’t have time to fix the textures, but overall it applies.

Clamping 90, Light Tracing 40%, Sobol with adaptive strength 0.7, no caches.

With the caches. there are a few and it’s best not to enable them all unless it suits the scene.

PGI Indirect Cache: For a scene with lots of indirect light that has multiple bounces: Ex Interior scenes, hidden lights

PGI Caustic Cache: Often for when Light Tracing doesn’t cover all cases (Caustics in a mirror), underwater caustics viewed from above. Adaptive updates help when the cache needs updating.

Direct Light Cache: Helps in a scene with large amounts of direct lights, say a warehouse with 100 lamps or Christmas lights.

Env Light Cache: Improves sampling of environment lights, like automatic portals. Use for interior scenes with a sun/sky/hdri/world lamp and openings/windows.


@zeealpal @B.Y.O.B @MarioPeper Thank you all three for your help. It is overwhelming, but obviously there is a lot to learn about physically accurate rendering and I have been avoiding that part of 3D for too long. Unfortunately I can only mark one of you as the solution so I chose the first reply. I’m now trying some of those suggested adjustments and will try to render an improved version and post here.

The reason I had all the caching turned on is because I was desperately trying things without really understanding their use case. I also was trying to achieve the effect of the inside of the inside of the dice being a bit cloudy, so I turned up the roughness of the glass, maybe this wasn’t the right way to go about doing that. For comparison, I setup a similar scene on my table and took a real photo so you can get a sense of the materials I was trying to replicate.

Real photo

I’m not sure if the interior material effect is best achieved through IOR settings or through volume materials.

For some reason I haven’t been able to get opencl working and I’ll have to ask about that in the appropriate forum.

1 Like

Thanks to your help, I was able to significantly improve the render. One main problem was in my video card drivers. The nvidia and intel gpu drivers were fighting each other and so I disabled the intel one and then opencl settings started working. I changed to area lamps, flipped the normals on the 10 sided dice (was inverted for some reason), added some bump mapping to the pencil and beveled it’s long edges, and corrected the IOR to 1.46 which is more realistic for plastic than 1.6.

Here is the latest result with 4000 samples and many of the recommended changes made above, took only 42 minutes. I’m fairly satisfied with it now.