Author Topic: Lots of light dots and noise in my renders  (Read 670 times)

2023-11-23, 15:30:51

bertv

  • Active Users
  • **
  • Posts: 21
    • View Profile
Hi,

I am tweaking a scene for animation rendering. But keep getting lots of light dots in my renders.
Any idea how I can remove those? Tried to play with the multiplier to increase rays, but has little effect.
The render is (1920 x 1080 px) and should not render more than 10min.

Below some screen grabs for my settings:

2023-11-23, 16:32:43
Reply #1

pokoy

  • Active Users
  • **
  • Posts: 1862
    • View Profile
First off, if you expect this to render in 2 minutes (seems to be the time after you stopped the render) - that's probably not going to be enough.

I'd set everything back to defaults as a first step. For example, setting 'Clamp Highlights' to 500 will already make a scene with complex lighting like yours slower to render than needed.

If you are using self-illumination on the materials that are supposed to generate ligh, switch to LightMtl wherever possible or make sure to use only LightMtl for all bright visible materials.
Self-Illumination is calculated through GI so it takes way more passes to get rid of noise compared to LightMtl.

You seem to have many rough-reflective/semi-glossy materials/metals. This will mostly render slower and produce some fireflies. Don't overuse or dial it down where possible.

Also, using 4K cache instead of UHD is a better choice most of the time, try this one.

Don't have much advice other than that, but I'd definitely allow it to reach more passes.

EDIT - I realized that Highlight Clamping set to 500 isn't much of a problem (the default is '0' which means no clamping at all), and using lower values can actually help to prevent fireflies so for anyone new to Corona and reading this at a later stage, just dismiss what I wrote above, it's wrong.
« Last Edit: 2023-11-23, 19:06:07 by pokoy »

2023-11-23, 17:32:01
Reply #2

bertv

  • Active Users
  • **
  • Posts: 21
    • View Profile
Hi,

I did a settings reset and enabled the animation settings and put the secondary solver on 4K.
I made 3 render tests with those settings. One 20 passes, 50 passes and 80 passes.

But the image is still noisy (Not sure if I can use denoise for animations)
Is there anything else I can do to reduce the noise besides adjusting the materials (since this would take a lot of work to tweak)

Thanks for the help,

2023-11-23, 17:37:50
Reply #3

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5466
    • View Profile
"(Not sure if I can use denoise for animations)"
You can, probably in fact where it is most useful since there are many frames where it can save time :)

On the materials, if the lighting is meant to be visible in the scene, self-illumination will be terribly ineffective. It's only meant for, say, a TV screen in daylight where the screen needs to "glow" but won't be contributing to the light around the room. At night, with all lights off except the telly, then it would be a LightMtl. This looks much more like the latter case, which is why the UI has a warning about using self-illumination (my general rule is never use self-illumination - almost always safest that way as a "default" ;) )

The other advantage of a LightMtl is you can turn off "Emit Light" as sometimes you won't need something to cast light into the scene - e.g. in this case it looks like most of the surfaces are black/dark but reflective, so they don't get illuminated by GI but instead just via reflection. So it is possible Emit Light off would do just fine, at least for some of the light sources.
Tom Grimes | chaos-corona.com
Product Manager | contact us

2023-11-23, 18:23:09
Reply #4

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • Marcin
    • View Profile
This scene seems to be illuminated by:
- various glowing objects
- reflective caustics from mirror-like objects, including the ceiling

I would use default render settings (just reset everything to defaults) and:
- Use an override material to paint everything with a flat gray material - this will show you how the scene reacts to lighting - https://support.chaos.com/hc/en-us/articles/4528531820177
- If your scene comes out black, this means that all lighting comes from some kind of light-emitting materials. This may not be optional, so either add Corona Lights where you need them, or exclude objects with light-emitting materials from your material override and check again.
- If you see a lot of noise from your light-emitting materials, that probably means that they are configured incorrectly. They may be using self-illumination instead of light-emission - https://support.chaos.com/hc/en-us/articles/4528322665745
- Another idea would be to disable light-emission for all your light-emitting materials and use Corona Lights instead. In that case, the lighting won't be 100% accurate, but it should render much faster.
- Once you are pretty sure that everything is fine with your scene lighting, disable the clay material override and check how the scene renders.
- It is possible that it will be still noisy. In that case, I would bet on the mirror-like objects. A possible fix is using the Rayswitch Material to tell GI rays that those materials are not reflective at all - this will eliminate any noise coming from reflected light:
https://docs.chaos.com/display/CRMAX/Corona+Rayswitch+Material
https://docs.chaos.com/display/CRMAX/Corona+Rayswitch+Map

You could also try adjusting some render settings to make the rendering less realistic but faster (for example by lowering the Max Sample Intensity value), but if the scene is set up incorrectly, this will most likely just make it render even less correctly.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2023-11-23, 20:14:13
Reply #5

brr

  • Active Users
  • **
  • Posts: 101
    • View Profile
After all these steps, you could also try the Intel CPU AI Denoiser + Tent Filter to get faster results. This denoiser model does a great job even for animations.
« Last Edit: 2023-11-23, 20:59:02 by brr »

2023-11-24, 09:23:19
Reply #6

bertv

  • Active Users
  • **
  • Posts: 21
    • View Profile
Thanks all for the info.

I'll do some tests next week and will keep you posted.

2023-11-28, 17:43:49
Reply #7

bertv

  • Active Users
  • **
  • Posts: 21
    • View Profile
Hi,

I did some tests. It seems to be a problem with the light material that was set to strong with high intensity of 150 en directionality of 0.7.

01: All overridden with override material:
In annex

02: Override with light materials excluded:
In annex

03: Override with light materials excluded tweaked light materials (Squared at top) intensity:40 and directionallity:0.48 :
In annex

04: Override with light materials excluded tweaked light materials (Squared at top) intensity:5 and directionallity:0.48 and added corona lights to fill the scene:
In annex

05: same as 04 but with denoise CPU AI en tent image filter:
In annex


When I render multiple frames I see some splotches, because of still to much noise and the denoise.
Later I'll do some more test with the materials.


2023-11-29, 09:35:01
Reply #8

bertv

  • Active Users
  • **
  • Posts: 21
    • View Profile
Hi,

With all materials active the frame looks pretty noise ok. (Used the denoise for first image in annex and no denoise for second image!)

What I'm going to do:
  • Make a script that finds all the light materials and set the intensity and directionality to a desired value.
  • Add some general corona spot lights to light the scene
  • Set the min passes to 50 and noise level limit to 12%



2023-11-29, 14:06:00
Reply #9

bertv

  • Active Users
  • **
  • Posts: 21
    • View Profile
Below a Maxscript for people in need of adjusting the intensity and directionality of all Corona light materials in the scene:

Code: [Select]
--Find all corona light materials in the scene and do action

--for obj in selection do
--for m in sceneMaterials do
for obj in objects do
(
m = obj.material
if m != undefined do
(
if (classof m == Multimaterial) then
for i in m.materialIdList do
process_mat m[i]
else
process_mat m
)
)

fn process_mat m =
(
if (classof m == CoronaLightMtl) then
(
print m.name

--DO ACTIONS TO SET INTENSITY AND DIRECTIONALITY  --show m
if (m.directionality > 0.48) do
m.directionality = 0.48

if (m.intensity > 10) do
m.intensity = 10
)
else if (classof m == CoronaMtl) then
(
--DO SOMETHING Check material options with =>    show m
)
else if (classof m == CoronaPhysicalMtl) then
(
--DO SOMETHING Check material options with =>    show m
)
)
« Last Edit: 2023-12-01, 14:54:14 by bertv »