Author Topic: Caustics take too long to clear  (Read 3625 times)

2019-06-11, 17:56:15

Dimitris Sotiropoulos

  • Active Users
  • **
  • Posts: 8
  • yippee ki yay
    • View Profile
Hi corona team! Excited with v4!

I did a test with caustics and dispersion and i notice there is a limit on how much caustics are clearing up in terms of noise. I am posting a prism scene where i did a region render on the marked area and the noise dropped to 3% after aprox. 2000 passes! (see attached img) Is this normal? I did the same render without dispersion and the result for the same region was 3% noise after aprox. 760 passes! Still a long time i think for such a small region. (see attached img) Is there a way to increase photons emitted by the light source to have more samples to work with?

I also did a simpler caustics test with a scene with a glass and i noticed the same issue. It doesn't clear in a normal usable rate. 1.5% noise after aprox. 190 passes for the small region area and still not clear! (see attached img) Is there something we can tweak to make it more efficient?

Also i have a suggestion:
Can we have a switch that separates reflective from refractive caustics in order to gain some render time?

Thanks!
« Last Edit: 2019-06-11, 18:09:40 by Dimitris Sotiropoulos »
ArchiViz, 3ds Max 2018, Corona Render 4

2019-06-12, 09:43:10
Reply #1

maru

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

Below are some suggestions which may help in this specific case. Generally we do not recommend playing with devel settings, and we are aware that there are some imperfections regarding caustics, which we will iron out ASAP, so this is just for experimenting and to see if it will actually help.
1) Try not to use regions with caustics. The way they currently work is that caustics may "lock" to a specific pattern and appear to be not improving any more, this may sound a bit unintuitive, but is actually like that by design. So caustics will most probably converge to a usable result faster without regions than with regions.
2) If you are just doing tests, then you can try lowering Render Setup > Performance > Max sample intensity to some super low value like 0,1 or even less. This will basically kill all GI in your scene, but can help render caustics faster.
3) If you would like to try with more photons, you should enable the development/experimental stuff rollout (https://coronarenderer.freshdesk.com/support/solutions/articles/12000021288), then go to the Performance tab, and you will see an additional rollout with caustics settings. You can increase max photons in there, but:
- caustics will render faster / more precise, but the rest of the scene will render slower (like GI, direct lights, etc)
- this will require extra RAM and in case of using extreme photon count it may even crash
The other caustics settings do not affect rendering that much, so I would recommend ignoring them.

2019-06-12, 14:09:11
Reply #2

Dimitris Sotiropoulos

  • Active Users
  • **
  • Posts: 8
  • yippee ki yay
    • View Profile
I tried the same scenes without region rendering, with Max sample intensity: 0.1 and Max Photons: 50000. Indeed The render goes faster with usable results from pass 20. Max sample intensity tends to drop brightness for caustics so i suggest using the value of 1.

So the best workflow for know is to render any scene without caustics using the regular settings and then doing a pass considering the above just for the caustics using the caustics render element
ArchiViz, 3ds Max 2018, Corona Render 4

2019-06-12, 17:20:23
Reply #3

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9056
  • Marcin
    • View Profile
So the best workflow for know is to render any scene without caustics using the regular settings and then doing a pass considering the above just for the caustics using the caustics render element

Not really. In Corona the best workflow is "just press render", but in some extreme cases it is not optimal. ;)
It is rather a "use this solution in case something doesn't work as expected".

2019-06-12, 17:22:56
Reply #4

Dimitris Sotiropoulos

  • Active Users
  • **
  • Posts: 8
  • yippee ki yay
    • View Profile
I'm only referring to caustics and for production purposes
ArchiViz, 3ds Max 2018, Corona Render 4

2019-06-13, 02:27:32
Reply #5

Njen

  • Active Users
  • **
  • Posts: 496
    • View Profile
    • Kickstart Cyan Eyed!
I agree with Dimitris. As I explained in another post earlier today, if I want caustics just in the eyes of my character, turning on caustics for the whole scene is overkill for what I want. So I am currently just rendering the eyes in a second render pass, matted out by other geometry, then using the resulting caustics render element to comp back on top. This process is a lot faster to get the result I want than by simply turning on caustics for the whole scene just to get my character's eyes looking good.

The perfect solution is to be able enable/disable caustics on a per material basis.
Please support my Kickstarter for my animated film, Cyan Eyed (rendered in Corona)!

2019-06-18, 11:25:03
Reply #6

maru

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

2019-06-26, 10:58:37
Reply #7

rombo

  • Active Users
  • **
  • Posts: 105
    • View Profile
I'd +1 this as well - caustics, for their very specific use, would be great if we could control specifically what we need to see them in - It's an inherently heavy burden for calculation (has always been and corona did a great job in creating a "press render" approach for generic cases) and the ability to specifically focus on certain objects would remove quite a bit of that burden.

2019-08-12, 16:12:30
Reply #8

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9056
  • Marcin
    • View Profile
Just a small confirmation:
Including/excluding specific objects from receiving or casting caustics is currently limited (other than using the "caustics" checkbox in a material to disable refractive caustics, or using Corona Light includes/excludes).
This seems to be one of the most commonly requested features, so we will definitely look for a solution to this.

2019-08-23, 12:11:56
Reply #9

Papuca3D

  • Corona Team
  • Active Users
  • ****
  • Posts: 72
  • Vladimir
    • View Profile
Activating caustics per-object is currently not planned for implementation due to the way the caustics solver currently works.

Sorry to be the bringer of bad news but that's the latest from the devs.
Join Corona Academy and organize your own Corona courses! https://corona-academy.com/

2019-08-23, 19:01:22
Reply #10

pokoy

  • Active Users
  • **
  • Posts: 1418
    • View Profile
How about per-material reflective caustics? That would be just as doable as per-material refractive caustics that we have now, correct?
If this is possible, this should be really looked into.