Author Topic: Caustics playground!  (Read 65115 times)

2020-08-28, 11:02:16
Reply #150

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 13153
  • Marcin
    • View Profile
After installing rc5 black pixels are still appearing in the caustics pass. There's no option to disable caustics adaptivity. Any way to fix this?

You need to enable the development / experimental stuff rollout first (see my post above), and then you will find the adaptivity setting (see screenshot).
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2020-08-28, 11:44:13
Reply #151

Neil Cross

  • Active Users
  • **
  • Posts: 59
    • View Profile
Silly me, I was checking the dev settings in a previous version. I see the checkbox is now visible after installing RC5. I will check if this fixes it.

2020-08-28, 17:52:33
Reply #152

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 13153
  • Marcin
    • View Profile
Yeah, the devel rollout sometimes gets hidden when re-installing Corona or updating to a newer version.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2020-09-04, 10:17:25
Reply #153

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
Can verify that turning off Caustics Adaptivity does completely solve the problem. But it does indeed add quite a bit of extra render time to certain scenes, doubling it in some cases. Very much hoping this can be solved soon! (Maybe at the same time as a dedicated include/exclude list for Caustics Receive built into the CoronaMaterial....) :)
Alex York
Partner
RECENT SPACES
recentspaces.com

2021-12-09, 22:11:55
Reply #154

lupaz

  • Active Users
  • **
  • Posts: 1015
    • View Profile

2021-12-09, 23:17:35
Reply #155

marchik

  • Active Users
  • **
  • Posts: 282
    • View Profile
This is really good caustics from Otoy:

https://www.facebook.com/groups/OctaneRender/permalink/2048831091960625/
I have been thinking for a long time that if Corona remains proudly CPU based, it would be great to shift all sorts of secondary tasks to the GPU, for example, denoiser, caustics, bloom and glare, etc., it would be a really efficient use of resources, I understand how complicated this task is but maybe one day :D

2021-12-10, 10:48:58
Reply #156

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 9099
  • Let's move this topic, shall we?
    • View Profile
    • My Models
This is really good caustics from Otoy:

I think that's the understatement of the year. That video is simply mind blowing.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-12-10, 11:00:30
Reply #157

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
That is very impressive although it's a super duper simple scene. I'd love to see it applied to a complex scene.
Alex York
Partner
RECENT SPACES
recentspaces.com

2022-01-06, 09:22:22
Reply #158

rowmanns

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1892
  • Corona for 3ds Max QA Team
    • View Profile
Hi Guys,

We implemented some changes to the caustics render elements in the last daily build. These should hopefully improve the include/exclude feature we implemented previously.

Quote
  • Caustics
    • Added the following options to caustic render element
      • Include direct - includes directly visible caustics in render element
      • Include reflected - includes caustics visible through reflection (and then possible following reflection/refractions)
      • Include refracted - includes caustics visible through refraction (and then possible following reflection/refractions)
      • Include GI - includes caustics visible through GI

I'm interested to hear your feedback on it. You can grab the build from here: https://forum.corona-renderer.com/index.php?topic=33839.msg193564#msg193564

Thanks,

Rowan

Please read this before reporting bugs: How to report issues to us!
Send me your scene!

2022-01-07, 09:42:54
Reply #159

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
These look really useful! Nice work guys. Will hopefully get a chance to test a DB soon to give these a go.

Cheers,
Alex York
Partner
RECENT SPACES
recentspaces.com

2024-07-20, 10:05:35
Reply #160

brr

  • Active Users
  • **
  • Posts: 138
    • View Profile
Hello Corona Renderer Team,

I was not sure where to post my observations, hopefully, this is the right topic.

It's been a long time since I've played with caustics, and I tried them in v11 HF2 with default settings. However, I noticed that whatever I do, I always see separate photons on the floor and ceiling (secondary areas).

Of course, I can render caustics in a separate channel and then erase these areas. But maybe there is another way to improve the caustics result?

I tried playing with the settings in the Caustics Solver settings and sometimes got better results with smaller photons, but the density stays always low and it looks like photon-fireflies-noise effect. Primary areas are completely okay—the results on the blue wall look good to me; only the ceiling and the floor are a problem.

I also noticed that when I add my three objects to the caustic solver, it works only when they are in the exclude list. I thought they must be in the include list?

What do you recommend?

-Only CoronaPhysical materials have been used.
-No texture or procedural maps in the scene (except for people).
-Corona 11 HF2.

Many thanks in advance.

Please look at my attachment

2024-07-20, 22:56:30
Reply #161

marchik

  • Active Users
  • **
  • Posts: 282
    • View Profile
Hello Corona Renderer Team,

I was not sure where to post my observations, hopefully, this is the right topic.

It's been a long time since I've played with caustics, and I tried them in v11 HF2 with default settings. However, I noticed that whatever I do, I always see separate photons on the floor and ceiling (secondary areas).

Of course, I can render caustics in a separate channel and then erase these areas. But maybe there is another way to improve the caustics result?

I tried playing with the settings in the Caustics Solver settings and sometimes got better results with smaller photons, but the density stays always low and it looks like photon-fireflies-noise effect. Primary areas are completely okay—the results on the blue wall look good to me; only the ceiling and the floor are a problem.

I also noticed that when I add my three objects to the caustic solver, it works only when they are in the exclude list. I thought they must be in the include list?

What do you recommend?

-Only CoronaPhysical materials have been used.
-No texture or procedural maps in the scene (except for people).
-Corona 11 HF2.

Many thanks in advance.

Please look at my attachment

As far as I know, the include/exclude list is for objects that will receive caustics, so all you need to do is exclude the floor surface.

2024-07-23, 13:45:26
Reply #162

brr

  • Active Users
  • **
  • Posts: 138
    • View Profile
As far as I know, the include/exclude list is for objects that will receive caustics, so all you need to do is exclude the floor surface.
Hi Marchik,

Thank you for the tip. I totally missed this in the Corona documentation. That's why, when I only included my showers, there were no caustics visible! Now I understand how this works.

@all
Unfortunately, it cuts the caustics shape on the right side of the image, and it does not artistically look good. I can definitely change the angle (but mess the shadow) and use exclude or clean bad zones via separate layer in post. But to better understand the possibilities, are there any techniques to improve the density of photons for such cases?

« Last Edit: 2024-07-23, 14:17:56 by brr »

2024-07-23, 21:31:13
Reply #163

marchik

  • Active Users
  • **
  • Posts: 282
    • View Profile

@all
Unfortunately, it cuts the caustics shape on the right side of the image, and it does not artistically look good. I can definitely change the angle (but mess the shadow) and use exclude or clean bad zones via separate layer in post. But to better understand the possibilities, are there any techniques to improve the density of photons for such cases?

I understand you perfectly, getting caustics to work reliably now in more or less complex scenes is an almost impossible task. In such cases, I usually render a separate pass at a lower resolution (0.7 - 0.5x and using Nvidia denoising with a value of 1.0, and combine them in post-processing. This makes it more pronounced and soft, and all the fireflies will be “smeared.” In your case, you don’t have refractive surfaces like pool water and this should help.

You can also try the approach of “baking” caustics into IES using the method described in this topic. But I don't know if it currently works with current versions of corona.
« Last Edit: 2024-07-23, 23:45:55 by marchik »

2024-07-24, 09:47:53
Reply #164

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
Weighing in here briefly with some thoughts that I know I've already passed to the Corona devs over the years.

I kind of disagree that getting caustics to work reliably is almost impossible in complex scenes, that's maybe an overstatement - we're making it work regularly in very complex scenes - but I do totally support the sentiment - it's way, way too fiddly currently. And this is principally due to caustics having very basic optimisation/adaptivity in response to the scene - you often end up with poor looking noisy results and having to brute-force across the entire scene to get something decent, and almost always relying on some kind of post-processing fudging. This results in enormous wasted R&D time, rendering time and costs.

The main thing we're extremely keen to see is real, solid improvements to getting caustics to be controllable where and when you want them, with actual improvements therefore in quality/result and speed. The include/exclude is purely a compositing aid and has zero effect on speed/result. That's the key thing that needs to change somehow IMO.

Tied into that is the fact that caustics are still resolution-dependent in terms of photons. It works better in recent major releases so the overall "brightness" and appearance of caustics is now much closer as you scale up and down res, but it's still not working how it ought to be. Photons Per Pixel is inherently problematic because it's resolution-dependent, therefore the result changes drastically when you're testing at say 2k and then go to full-res. I've even found that I'm basically unable to render what looks good at 2k blown up to 9k, because it uses up too much memory. I think Photons will ultimately need to be moved to a world-unit-space similar to how displacement can work. The visual result should always be predictable across all resolutions, with memory usage scaling more reliably too.

Unlike other areas of CG, with caustics you really cannot currently just brute-force a clean solution by throwing a tonne of photons or passes at the problem, because to achieve that results in unsolvable memory issues even on 256gb beast machines like ours. That would be a first, worst solution IMO - if we can throw computing power at the issue and get a totally reliable, clean result, that would be ok for now. As a better long-term solution, a properly optimised workflow with Ondra's original "one click and done" working the way he envisioned for this some years ago.
Alex York
Partner
RECENT SPACES
recentspaces.com