Author Topic: Caustic solver not working properly  (Read 939 times)

2020-05-22, 16:59:01

v.p.vlasenko

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

I've encountered a problem in one of my projects and created a simple scene to figure it out.

What we have: plane 1000x1000 with default corona material, a simple tube with chamfer (highly reflective material) and corona light.

For first renders I've reduced max photons/iteration to 1k (5000k default) to see what happening GI/AA - 4. All renders are caustics render element.

1. tube radius 190 - everything fine.
2. tube scaled down, all good.
3. scaled down, all good(seems like, but not sure) had to increase photons to the default value.
and here the problem:.
4. scaled down to radius 2,2. Camera much closer and photons increased to 50000k - with default value I can't see caustics. Saved after 2 passes.
It looks like in this scenario no new photons generated after 2nd or 3rd pass - I can't see changes in photons distribution. And with each pass caustics become dimmer.
The second render is the same but at 50 passes. After some time caustics will disappear at all.
Now the even weirder thing. @ pass per render.
5. Same camera position as previous, tube scaled down. Caustics disappear much faster, it seems like they will go after 5 passes (don't remember now).
Next image - everything the same as in previous except camera - moved it closer. Now caustics not visible and disappear very fast. For this render I increased EV to 6 instead of 3.

So what I've found - at some point (size of objects, size of lights, the distance between them) caustics disappear over time instead of refining (looks like no new photons generated after few passes). And even weirder - it depends on how close the camera to those objects.

The scene I've written about at the start - a kind of studio render with some reflective objects. When the camera sees all scene - I have caustics that will not converge over time but disappear instead. But when I move the camera closer to see details - I don't have caustics at all or it disappears very fast.

I'm using last daily build - but I checked couple previous builds and v5 - the same problem. All of this true for default setting as well.

And the last one render - that seems like 20-30 min of render on the simplest scene, low res and 18cores... caustics still noisy. Is that normal?



2020-05-22, 18:02:27
Reply #1

PROH

  • Active Users
  • **
  • Posts: 1107
    • View Profile
Hi. A few questions:
- What DCC are you using?
- When you say the tube is "scaled down", do you then mean resized in tube-parameters or do you mean scaled with the scale tool? If you're using Max and scale objects at object level, then all kind of weird things will happen. Is that the case here?

2020-05-22, 19:07:09
Reply #2

v.p.vlasenko

  • Active Users
  • **
  • Posts: 26
    • View Profile
max, scale tool.

But that's not the case:
1. I noticed this problem in a different scene with objects imported from CAD without any scale modification.
2. I checked that as a possible reason at the very beginning. It doesn't matter if object scaled to a certain size or created at that size in this particular case.

So I used the scale tool as it was faster than changing parameters.

2020-05-22, 19:14:18
Reply #3

PROH

  • Active Users
  • **
  • Posts: 1107
    • View Profile
Hi. Imported CAD geometry often suffer from this exact problem, since scaling on object level is commonly used in CAD. In Max you should always scale on sub-object level.

2020-05-22, 19:27:04
Reply #4

v.p.vlasenko

  • Active Users
  • **
  • Posts: 26
    • View Profile
Never had such problems with CAD, but again - that's not the case. I tried to reset xfrom on those models, then move some objects to clean scene and ended up with creation a simple scene from scratch to ensure that it's not model/material related problem. So on those renders are simple scene that have nothing from original in it. Just one object at different scale, plane, coronamtl with standard settings and same mtl with diffuse 0, refl. 1 and high IOR. And as I said I tried to create objects with +/- same size without scaling - doesn't helped.

Actually I'm thinking about recording some screen capture video to show that problem better than a few images.

2020-05-22, 19:45:21
Reply #5

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 6581
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I think providing scene for investigation would be even better idea. You can send it with private uploader - https://corona-renderer.com/upload
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2020-05-22, 20:21:17
Reply #6

v.p.vlasenko

  • Active Users
  • **
  • Posts: 26
    • View Profile
I think providing scene for investigation would be even better idea. You can send it with private uploader - https://corona-renderer.com/upload

done, added video to see what I'm doing.

"Successfully uploaded as 1590171602_test10.zip"

2020-05-29, 08:44:20
Reply #7

v.p.vlasenko

  • Active Users
  • **
  • Posts: 26
    • View Profile
any update on this?

2020-05-29, 11:58:56
Reply #8

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile
Sorry, I must have missed this thread. I will look into the provided files.
Just two more questions:
Are you scaling the reflective object only (so the light size remains the same), or are you also scaling the light source?
Are you using region rendering here?

2020-05-29, 13:02:40
Reply #9

v.p.vlasenko

  • Active Users
  • **
  • Posts: 26
    • View Profile
Only object, no RR.
There video in zip - you can see what I'm doing.

2020-06-01, 17:06:19
Reply #10

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile
We've looked into this with my support colleagues, and the most probable cause here is that you are basically hitting a limit of the most tiny thing the caustics solver can render. It generally isn't a good idea to render objects which are hundreds of units big and fractions of units big in a single scene, with the camera zoomed on the large / small thing. This is most likely bound to break at some point. If you if you create a box and zoom in enough, you will see that it will render incorrectly (even without the caustics solver). Every software has some limitations. In this case, these are the limitations of both Corona and 3ds Max.

I would rather focus on coming up with some other solution or workaround.

Can you please explain what exactly is the real scene you are working on? (either here or via PM)
It is hard for me to imagine a scene where you are rendering a ~300 cm object and then zoom in onto a ~0,8 cm object, AND you also need caustics for both.

2020-06-02, 10:02:05
Reply #11

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile

2020-06-02, 10:50:16
Reply #12

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile