Author Topic: Corona Caustics bug ? useless for animation?  (Read 1053 times)

2023-09-01, 01:24:36

arqrenderz

  • Active Users
  • **
  • Posts: 996
  • https://www.behance.net/Arqrenderz1
    • View Profile
    • arqrenderz
Hi, im having a headache with corona caustics. After a LOT of trial and error to get decent looking caustics i started to render a test animation, to my surprise no frame gets similar caustics, so i dig deeper to finally render THE SAME frame with all methods, PT+PT UHD still, UHD animation and 4k still and animation, no matter what the frames came with different looking caustics...Im not moving the time frame or materials, but it will never look the same...


using corona 10.1 max 2023
« Last Edit: 2023-09-01, 13:23:00 by maru »

2023-09-01, 15:25:22
Reply #1

arqrenderz

  • Active Users
  • **
  • Posts: 996
  • https://www.behance.net/Arqrenderz1
    • View Profile
    • arqrenderz
After a night of sleep i keep trying to solve the issue, SO the bounding box CANT be big, if i isolate the project and leave just a house with its pool the caustics render the same, so i will render them on a smaller scene, if that's a known limitation a warning would be nice ...

2023-09-02, 06:10:33
Reply #2

Tom

  • Active Users
  • **
  • Posts: 236
    • View Profile
    • www
Your issue is so weird. Especially with PT for both solvers, you should be fine.
I had a quick read at this article: https://support.chaos.com/hc/en-us/articles/4954589213457-How-to-render-caustics-with-the-new-caustics-solver-in-Corona-for-3ds-Max-

Why did you enable devel/debug mode in Corona?
Did you try disabling "enable caustics adaptivity"?

2023-09-04, 09:56:43
Reply #3

Aram Avetisyan

  • Corona Team
  • Active Users
  • ****
  • Posts: 561
    • View Profile
Hi,

The "issue" here is most probably lying in the size of the rendered scene.
Technical explanation from devs:
"This is happening because the caustics are computed by shooting photons from light sources. While we try to shoot caustics at the important areas (pool), if the scene is large many of the photons will end up all over the place and thus less of them will be in the pool - meaning more noise/flickering. The noise might be also seen as lower intensity, since we do firefly clampling."

It is definitely better to render the caustics part of the scene in a smaller/isolated scene, as it will focus the caustics calculation only on and from the isolated objects.
We of course want to improve this (one idea was to have caustics importance volumes/fields, which can be user defined, but ideally we would like this to happen automatically and avoid it), as the time lets.

At this point, if you have a relatively large scene, consider it as a best practice to render the caustics in a smaller/isolated scene, as it will bring closer to better and more consistent results, especially when doing animation.

Hope this helps.
Aram Avetisyan | chaos-corona.com
Chaos Corona Support Representative | contact us

2023-09-04, 17:25:08
Reply #4

MetricaVisuals

  • Active Users
  • **
  • Posts: 18
    • View Profile
    • https://metricavisuals.com/
Thx Aram for the explanation, it would be REALLY helpfull to have that as a warning on the corona error window, i Spent a day and a half trying to figure it out...

2023-09-06, 15:23:17
Reply #5

dj_buckley

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

The "issue" here is most probably lying in the size of the rendered scene.
Technical explanation from devs:
"This is happening because the caustics are computed by shooting photons from light sources. While we try to shoot caustics at the important areas (pool), if the scene is large many of the photons will end up all over the place and thus less of them will be in the pool - meaning more noise/flickering. The noise might be also seen as lower intensity, since we do firefly clampling."

It is definitely better to render the caustics part of the scene in a smaller/isolated scene, as it will focus the caustics calculation only on and from the isolated objects.
We of course want to improve this (one idea was to have caustics importance volumes/fields, which can be user defined, but ideally we would like this to happen automatically and avoid it), as the time lets.

At this point, if you have a relatively large scene, consider it as a best practice to render the caustics in a smaller/isolated scene, as it will bring closer to better and more consistent results, especially when doing animation.

Hope this helps.

This doesn't really make sense to me for a number of reasons.

The scene looks like a single house which means it's not particularly 'large' considering how big some scenes can be in arch viz.

From what I understand from the original post, the poster hasn't mentioned flickering or noise.  The caustics resolution is just different frame to frame?  It's quite obvious to me just from watching the video.  Perhaps i've missed something or misunderstood the issue.

Isolating the caustics to a small scene seems a bit counterintuative and archaic as that then means we have to incoporate compositing into our workflows which we might not have had to do otherwise.

Also, whats the point of caustics include/exclude if best practice is to create an isolated scene?

2023-09-06, 15:37:11
Reply #6

Aram Avetisyan

  • Corona Team
  • Active Users
  • ****
  • Posts: 561
    • View Profile
Hi,

The "issue" here is most probably lying in the size of the rendered scene.
Technical explanation from devs:
"This is happening because the caustics are computed by shooting photons from light sources. While we try to shoot caustics at the important areas (pool), if the scene is large many of the photons will end up all over the place and thus less of them will be in the pool - meaning more noise/flickering. The noise might be also seen as lower intensity, since we do firefly clampling."

It is definitely better to render the caustics part of the scene in a smaller/isolated scene, as it will focus the caustics calculation only on and from the isolated objects.
We of course want to improve this (one idea was to have caustics importance volumes/fields, which can be user defined, but ideally we would like this to happen automatically and avoid it), as the time lets.

At this point, if you have a relatively large scene, consider it as a best practice to render the caustics in a smaller/isolated scene, as it will bring closer to better and more consistent results, especially when doing animation.

Hope this helps.

This doesn't really make sense to me for a number of reasons.

The scene looks like a single house which means it's not particularly 'large' considering how big some scenes can be in arch viz.

From what I understand from the original post, the poster hasn't mentioned flickering or noise.  The caustics resolution is just different frame to frame?  It's quite obvious to me just from watching the video.  Perhaps i've missed something or misunderstood the issue.

Isolating the caustics to a small scene seems a bit counterintuative and archaic as that then means we have to incoporate compositing into our workflows which we might not have had to do otherwise.

Also, whats the point of caustics include/exclude if best practice is to create an isolated scene?

It should make the most sense as originally described in technical explanation of how and why the caustics can change depending on scene size.

The scene looks like a small house but the video does not give enough information to assume it is a small scene. Small is relative to the scene bounds and the part where caustics are expected to appear.

The original issue is "changing" of caustics from frame to frame. There is no mention of "caustics resolution", in fact there is no such thing. Again, the issue is the inconsistency of the caustics, as I understand.

Isolating the caustics part of the scene, when you are observing unexpected results with caustics, to get consistent results for animation is the best practice.
Check this thread for perfectly rendered caustics animation:
https://forum.corona-renderer.com/index.php?topic=40881.0

Caustics include exclude list is just a masking method to define on which objects the caustics should appear and on which ones they shouldn't. It is not an optimization method for caustics calculation.

P.S There are several factors which can contribute to caustics flickering in the scene, including the refractive objects in the scene, their set up, their lighting contribution to the scene etc. The scene where caustics flickering is present should be investigated thoroughly first, to understand what is causing it. But in rather straightforward cases, as the thread I shared, caustics should work right out of the box without much hassle.
Aram Avetisyan | chaos-corona.com
Chaos Corona Support Representative | contact us

2023-09-06, 19:10:59
Reply #7

dj_buckley

  • Active Users
  • **
  • Posts: 875
    • View Profile
There is no mention of "caustics resolution", in fact there is no such thing.

Apologies -  Resolution aka How the caustics have been resolved in the render

2023-09-06, 21:28:09
Reply #8

arqrenderz

  • Active Users
  • **
  • Posts: 996
  • https://www.behance.net/Arqrenderz1
    • View Profile
    • arqrenderz
Hi, just to clarify some things up..
The scene is big, 3 or 4km long, this is just a house of the masterplan (i have two different files for the animation, but ended importing the same big beach to use in the house file for reflection purposes and simplicity.. The caustics were moving a lot when rendering the same frame (and im making an animation, so it was useless for that)
The isolate is working, just a warning would be nice..

2023-10-04, 15:13:40
Reply #9

Aram Avetisyan

  • Corona Team
  • Active Users
  • ****
  • Posts: 561
    • View Profile
Hi @arqrenderz,

If possible, it will be good to get the scene which was inconsistent in caustics rendering if part of the scene is isolate or not, to attach to the existing test scene for future improvement.
You can attach the scene here if you want, or send it by submitting a ticket: https://support.chaos.com/hc/en-us/requests/new
Aram Avetisyan | chaos-corona.com
Chaos Corona Support Representative | contact us