Author Topic: Some thoughts on Caustics  (Read 12803 times)

2019-06-11, 14:34:34

Image Complete

  • Active Users
  • **
  • Posts: 79
    • View Profile
    • Our Website
Hello there,

Now that hype is gone (at least for me) for the new caustics, I just want express some random thoughts.
Caustics on Corona was one of the most wanted features for a long time.
The new caustics work and they produce nice results. That comes with a price though.
The render needs twice or triple the original time in order to be completed.
For me, it will be very difficult to use caustics on our production because of that extra needed time.
To be honest, I don't have expreriense with caustics on other render engines (time wise). So I am not sure what to expect from Corona.

What are your thoughts on this?
Will you intergrate caustics in your production?

Cheers
We offer Visual Communication

2019-06-11, 14:40:32
Reply #1

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 6113
    • View Profile
"Extra work always takes extra time, no matter how efficiently you do the extra work" is my quote on this - and it is the truth, caustics are hard calculations, so take quite a lot of processor power to do, and will always add to the render time. From my past experience, the caustics in Corona are fast, compared to other solutions I have tried in the past. This does not mean "only adds 25% to your render time" fast though, as you are adding a great many complex calculations to the scene - in general, 2 to 3 times the original render time can be expected, though I've seen it as low as 1.5 times the render time, and as high as six times the render time. To me, that is very reasonable for adding caustics to the scene.

Of course you can optimize - only enable caustics for light sources that matter (usually, disable them for the environment, and usually most lights don't need to contribute, you'll have 1 to 3 main lights that need to take part in caustics), only enable refractive caustics on materials that matter.

Also, we'll always be looking for ways to optimize too. But, there has to be a realistic expectation too - I doubt caustics will ever be "just adds 10 minutes to your 1 hour render time" (though we shall see!)
Tom Grimes | chaos-corona.com
Product Manager | contact us

2019-06-11, 15:05:27
Reply #2

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
Hi,
we want to bring the overhead down, but there will always be any. Dont quote me, but if caustics take +100% time, we can maybe bring it down to +50%
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2019-06-11, 15:40:52
Reply #3

alexyork

  • Active Users
  • **
  • Posts: 742
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
Alex York
Partner
RECENT SPACES
recentspaces.com

2019-06-11, 15:43:19
Reply #4

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
Don't make me make you a tshirt with some 2016 brexit quote :D

But seriously we are working with Intel on some optimizations... we will see how much they bring
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2019-06-11, 15:45:30
Reply #5

alexyork

  • Active Users
  • **
  • Posts: 742
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
Don't make me make you a tshirt with some 2016 brexit quote :D

But seriously we are working with Intel on some optimizations... we will see how much they bring

haha!

Yep, awesome. the whole studio here is pumped to move up to v4 finally (soon).
Alex York
Partner
RECENT SPACES
recentspaces.com

2019-06-12, 10:30:11
Reply #6

Jpjapers

  • Active Users
  • **
  • Posts: 1716
    • View Profile
The trade-off is worth it. If you know youre going to need some shots with some crispy AF caustics then plan ahead and give yourself more time. The realism it adds far outweighs the extra time needed IMHO. Great Job team!

2019-06-12, 12:44:21
Reply #7

Image Complete

  • Active Users
  • **
  • Posts: 79
    • View Profile
    • Our Website
Planing ahead for scenes that need caustics might be the solution.
I guess I set the expectations too high, for caustics in all scenes, open by default in order to bring that extra touch of realism. We might see this one day in the future, who knows!?
Just to be clear, I don't want to be harsh on the team. Not at all! You are doing an amazing job!
We offer Visual Communication

2019-06-12, 12:50:41
Reply #8

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
well still even then, when the slowdown is a constant factor, you can view it this way:

1) upgrade your CPU to double # of cores (e.g. new ryzens with 16 cores costing $750)
2) turn on caustics in every render
3) render time stays the same, every scene has caustics
4) you got caustics for $750 ;)

It really just depends on how much do you want to use caustics - if you want to use them in every scene, you can. There is constant price to pay for that ;).

Even if you decide to turn them on only occasionally, check it again in version 5, we will have some further improvements by then.
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2019-06-12, 13:09:57
Reply #9

pokoy

  • Active Users
  • **
  • Posts: 1983
    • View Profile
Are there any plans to make a 'reflective' caustic switch available in v5? I think that would be very much worth it, and users can optimize render times that way, too... I know about the rayswitch workaround, but a dedicated reflective switch would be way more convenient than having to fiddle with rayswitch mtls for multiple materials in the scene only to have caustics within manageable render times.

2019-06-12, 14:44:27
Reply #10

Image Complete

  • Active Users
  • **
  • Posts: 79
    • View Profile
    • Our Website
well still even then, when the slowdown is a constant factor, you can view it this way:

1) upgrade your CPU to double # of cores (e.g. new ryzens with 16 cores costing $750)
2) turn on caustics in every render
3) render time stays the same, every scene has caustics
4) you got caustics for $750 ;)

It really just depends on how much do you want to use caustics - if you want to use them in every scene, you can. There is constant price to pay for that ;).

Even if you decide to turn them on only occasionally, check it again in version 5, we will have some further improvements by then.

I am way beyond 16 cores but I get your point
We offer Visual Communication

2019-06-12, 16:14:18
Reply #11

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
Great ;) we are already working on optimizations
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2019-06-12, 16:40:46
Reply #12

Jpjapers

  • Active Users
  • **
  • Posts: 1716
    • View Profile
Great ;) we are already working on optimizations

Just whilst youre here Ondra. Will v5 be just about faster existing features? Or will we finally see the PBR shader emerge?

2019-06-12, 17:01:12
Reply #13

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
there will be much faster parsing and lower memory consumption. We will improve our internal testing, and fix some long standing bugs.

The short time frame means no PBR material for v5, that one is being postponed to v6 (hopefully)
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2019-06-12, 23:27:05
Reply #14

Jpjapers

  • Active Users
  • **
  • Posts: 1716
    • View Profile
there will be much faster parsing and lower memory consumption. We will improve our internal testing, and fix some long standing bugs.

The short time frame means no PBR material for v5, that one is being postponed to v6 (hopefully)

Cool :) that displacement memory reduction sounds very promising!