Are Caustics working?

kyuzo

Member
No idea.
I tried getting caustics to work a few months ago, but failed. Didn't need them, so left it at that.
Will have another go tomorrow with the ngon light and let you know.
 

Shabazzy

LightWave Fan Boi
Thanks Kyuzo.

So, I gave it another try today (well yesterday at the time of writing this) and learned something that doesn't seem to be stated in the manual.

As with previous versions of LW, not all lights produce caustics, however the ones that do (Area, Environmental, Linear, NGon, Primitive, Spherical) all require the "Visible to Camera" setting, along with Render Properties>Global Illumination>Enable GI and Caustics to be activated.

Visible to camera is what tripped me up because I couldn't locate anywhere in the manual that explicitly tells you that caustics needs it activated. And that really frustrated me because I didn't really need the light to be seen by the camera. So why activate it, right?

So, there you have it.

Mystery solved......?
 
Last edited:

kyuzo

Member
Helpful info, ta.

For what it's worth, I have it working with pretty much all light types, including distant and point. Haven't really tested Environment.
 

kyuzo

Member
I've just been having a bit more of a play with caustics.
I can get them working fine with reflective surfaces, but I'm getting nothing with transparency, such as marbles, underwater, etc.
Any tips? I've tried dielectric, as well as BSDF surfaces, but have hit a dead end. I've tried varying IOR, transmission values, etc, but nothing produces a refraction-based caustic.

I cannot see any more rendering options to tick in either the rendering panel or the light options.

Any suggestions?
 
Caustics have changed from LW 2019 to LW 2020. The changed GI methodology has also made Caustic faster/better.

It seems that Visible to Camera must be checked in LW 2019 (what Shabazzy already mentioned), not in LW 2020.

Your light source must have an dimension in any way. A point light therefore does not work. For example, in my tests, the caustics become more visible with a distant light with an angle from about 5°.

In LW 2019 you also need a lot of GI samples to see any of the caustics (you could try interpolated too).

ciao
Thomas
 

Shabazzy

LightWave Fan Boi
In addition to what Thomas said (thanks for the tip about adding dimension to the light. That explains why I couldn't get some of them to work), I created a test scene with a sphere and ground plane and one light from within Layout and made the following settings:

Surface
- Material = Dielectric
-----Rougness = 2%
-----IOR = 1.5
- Shading Model Tab
-----Refraction Options = Raytrace only (not that it really matters)

Light Properties
- Light colour = White: R=255, G=255, B=255
- Light Intensity = 13.28 lx (although this may have to be increased if you don't adjust the size setting)
- Basic Tab
----- Affect Diffuse/Specular/Visible To Camera = All checked
----- Normailise = Checked (although this can be optional as it will still work either way)

Render Properties
- GI Tab
----- Enable GI = Checked
----- Type = Monte Carlo

- Monte Carlo Brute Force settings
----- Intensity = 100%
----- Rays = 50
----- Caustics = Checked
----- Sample Backdrop = Unchecked (I only check this if I'm using an Environmental Light with HDRI)
----- ISBG = Unchecked

Interpolated = Unchecked
Interpolated Cache = Unchecked (it's not necessary if Interpolated is unchecked as it doesn't do anything).

- Render Tab
----- RayTrace Refraction = Checked (this is the main one of note).
----- RayTrace Reflection = Unchecked (for cleaner image without upping samples and render times).

These settings worked for me but I suspect your issue is probably due to Interpolated being active, but that's just a guess. In any case let us know how you get on.
 

kyuzo

Member
Thanks for your assistance guys, I've got it working now, and seem to have 'boosted' it as well.

For future reference, and for anyone else struggling with this , I'll try to explain the two issues preventing my caustics working.

The first was indeed related to the lighting. I knew that the light needed some 'dimension', but I'd also read that caustics worked better with a more concentrated, brighter light source. I guess the size of my lights was just too small to have much of an effect. Upping the brightness wasn't having much of an effect. I managed to get a decent effect even with a light source much dimmer than expected, just by making the light much bigger than I thought would work.

The second issue was that somewhere along the line, I'd clicked 'double sided' on the material. This kills caustics dead.

But then this got me thinking about an old trick for realistic glass back from the days of 9.6ish. (I've no idea if this is still widely used, or if it has been forgotten about) Using a double sided material, in the node editor I plugged 'polygon side' into a material switch, and the second material (representing the rays leaving the solid, and entering air) was just 'Standard', with 100% diffuse, 100% transparency, and an Index of refraction of 1.003.
I've rendered both and put them side by side for comparison. The improvement is stark. I'm not going to pretend that I understand WHY. But it works brilliantly. (Nothing else in the two scenes has changed, and the light is just a distant light, with a Lux of 5, and an angle of 15 degrees.)

Caustics-SingleVersusDoubleSided.jpg


I've also ticked the 'Opaque' box on the material. This might sound counterintuitive for a transparent material, but if you think about it, if the light rays are all being bent and converged on the caustic, then that light is not passing straight through as if it had an IOR of 1, and so objects like this do cast a shadow.

Thanks for help guys, and I hope the 'old double-sided trick' is helpful to someone.

Cheers,

Derek

** I'm not sure how important the 'double-sided' check, the air's diffuse, transparency or IOR values actually are. Unexpectedly, I seem to get the same results just by using the polygon side, material switch, and a standard material. Might look into it a bit more later on, but it works fine for now.**
 

kyuzo

Member
Cheers, I'm pleased that I remembered it, AND that you might find it useful.

Back in the day, this was a crucial part of creating realistic glass. Originally, we used to copy and paste the polygons, flip them, and assign them an 'air' surface to do the same thing. Then we got nodes, and could assign different surfacing attributes to the front and back of polygons.

At some point, I think LW changed how it treated solid/double-sided polygons, and I kinda get a bit fuzzy on exactly what changes affected workflow in what way, and whether or not an 'air' surface was still neeced. For all I know, everyone else is still doing glass this way..
Anyway, this double-sided and 'air' surface definitely seems to improve dielectric materials. I tested it on a different object, and am really pleased with the results.
 

Shabazzy

LightWave Fan Boi
Yes, it's true that NT changed the way LightWave handled surfacing objects.

It introduced physically correct materials utilising nodes in LW 9, which kind of rendered the air poly method obsolete.

Back then, before I got comfortable with the material nodes, I used to a similar thing to replicate the air poly method with nodes by using the Spot Info's Polygon Side plugged into the Logic node's A input and do something or other (I forget what now) to it, which was then plugged into the destination node's IOR.

I could then alter the Logic Node's value to reflect the IOR for the object.

No more duplicate polys to achieve glass.

Then I discovered the Dielectric node and that changed everything for me.

Since then LW has become better and better for me. I'm constantly amazed (to this day) at how deep a program it is. It's the gift that just keeps on giving. It's like the engineers have thought of everything and just shoved into the program.

I just wish there was better training for it.

It's still a hellava program though.
 

jwiede

Electron wrangler
IME, Dielectric's always produced muddy, dark caustics compared to what similar-scale & -IOR material would produce IRL. The OP's Dielectric example appears to demonstrate the problem nicely -- the Dielectric caustics are very dark, low detail, show almost no focusing of light, etc. I've found LW to have a major weakness when it comes to generating even "semi-accurate" caustics (and this was using the "GI caustics", not the "caustics feature" about which less said the better), and I didn't find either LW2018 or LW2019 significantly better in that regard, though stability on Mac somewhat limited experimentation.
 
Last edited:

Shabazzy

LightWave Fan Boi
IME, Dielectric's always produced muddy, dark caustics compared to what similar-scale & -IOR material would produce IRL. The OP's Dielectric example appears to demonstrate the problem nicely -- the Dielectric caustics are very dark, low detail, show almost no focusing of light, etc. I've found LW to have a major weakness when it comes to generating even "semi-accurate" caustics (and this was using the "GI caustics", not the "caustics feature" about which less said the better), and I didn't find either LW2018 or LW2019 significantly better in that regard, though stability on Mac somewhat limited experimentation.
Well, as the OP who didn't provide any examples, I thank you for sharing your very helpful thoughts on the matter.

(FFS Mr Positive strikes again. 🙄 )
 

kyuzo

Member
I have been poking about with caustics, and dielectrics, trying to get better results. I want to get good caustics, without resorting to any 'hacks' or cranking up light levels to what I would consider unreasonable amounts.

Then it occurred to me. Dielectric is a shader which was introduced before the renderer was overhauled. The manual has this to say about converting lighting from old scenes to the newer LW 2018+ scenes...

----------------
Light intensity adjustments are made based on the light type. Conversions from the old percentage scale to Lux are created according to the following rules:

  • Area * 3.14
  • Distant * 3.14
  • Dome * 1.57
  • Linear * 3.14
  • NGon * 3.14
  • Photometric no changes
  • Point * 3.14
  • Spherical * 6.28
  • Spotlight * 3.14
  • 3rd party lights * 3.14

------------------------

So it seems obvious now, in hindsight, why caustics with dielectric need lighting cranked up to three times a sensible amount. Or six times with the spherical light....

The new standard BSDF material seems to behave the same as dielectric, and produces good clear and bright caustics, and there is barely any extra setup required.

Dielectric is dead to me now. LOL
 

David_CGC

Member
I'm also having problems with caustics, though under a slightly different circumstance. For my stargate model, I'm trying to recreate one of the canonical examples of "what is a caustic," light refracting through a swimming pool and making patterns on the bottom. It should be simple enough to proof-of-concept, point a light (spotlight in my case, though nothing else has worked either) at a transparent, bumpy plane and have an opaque object behind it to catch the light.

Opaque-Transparent-Light.jpg

However, I just can't get it to work in LW2020. I can't even get it to come close to working. It's just a sea of grain. There are some dark spots that might, with several additional hours of rendering, turn into a caustics pattern, but I doubt it.

Caustics_2020.jpg

I had the precise effect I wanted in old-style Lightwave (well, I had a flickering bug, but it turned out it was just a change in how LW was sampling the pattern from the older version where I originally made the scene, and once I increased the detail of the caustics, it worked fine). I even exported my test scene in 2020 for LW2015, brought it into 2015, and made it work exactly how I wanted in a couple of clicks to reconnect stuff that didn't exist in 2015 (replacing the BSDF Material with Standard, adjusting the brightness of the light from Lux to %, that sort of thing).

Caustics_2015.jpg

I'm attaching the 2015 and 2020 versions of the scene (and the 2015 version includes both the scene directly out of 2020, and after I flipped the switches to make it work in 2015), if anyone wants to try and figure it out.

I'd like to be able to get it to work live in-camera, so the effect will respond if the ripple pattern changes, or accurately cast shadows and focus differently on objects at different distances, but if it doesn't work, I can always just render a loop of the caustics on a flat white background in LW2015 once I nail down the ripples in the object and use that as a projection image from a spotlight in 2020 and have it look good enough.
 

Attachments

  • CausticsPuddle_2015vs2020.zip
    25 KB · Views: 15

kyuzo

Member
I haven't tested your scene, but I had difficulty getting that effect in LW2019.
I finally managed it by adding a polygon a fraction of a millimetre above the floor of the pool, surfaced as water, but with normal facing down.

i concluded that the caustics need to 'exit' the water before being focused on a different object.

i might be wrong, but I ran out of other settings to adjust...
 
Top Bottom