Enabling Caustics with XPU

   Views 6204   Replies 21   Subscribers 4
User Avatar
Member
65 posts
Joined: Aug. 2015
Offline
Hello SideFX,

I am currently putting together a variety of render tests for Karma XPU + Redshift, and I'm having some troubles with caustics.

Here is what the progressive render shows me in viewport:



Here's what I've done to try enabling it:

Karma Render Settings --> Geo and Shading --> Enable Caustics ON
Diffuse Limits = 3
Reflection Limit = 4
Refraction Limit = 8
Render Geometry Settings LOP --> Karma --> Enable Caustics, Evaluate BSDF On Fake Caustics ON for refractive objects
On the lights I have 2 area lights ---> Karma --> Contributes to Caustics ON
On the materials... Karma Material Properties --> Shading --> Enable Caustics ON
Also, I went to the Karma Render Settings --> Advanced --> Buckets and Caching --> Image Mode = Bucket with 0 progressive passes. However, in viewport, it does not feature bucket rendering. I also ensured that the viewport is listening to the Karma render settings node properly.
After rendering to disk, caustics still do not appear.

Here is a render similar to what I would expect:



My PC + Software specs are mentioned in the image above as well.

Thanks for any and all help!

- Tyler

Attachments:
causticProblem1.JPG (53.8 KB)
Caustics_RS.png (2.0 MB)

User Avatar
Member
8114 posts
Joined: Sept. 2011
Offline
tbay312
Karma Render Settings --> Geo and Shading --> Enable Caustics ON
Diffuse Limits = 3
Reflection Limit = 4
Refraction Limit = 8
Render Geometry Settings LOP --> Karma --> Enable Caustics, Evaluate BSDF On Fake Caustics ON for refractive objects
On the lights I have 2 area lights ---> Karma --> Contributes to Caustics ON
On the materials... Karma Material Properties --> Shading --> Enable Caustics ON
Also, I went to the Karma Render Settings --> Advanced --> Buckets and Caching --> Image Mode = Bucket with 0 progressive passes. However, in viewport, it does not feature bucket rendering. I also ensured that the viewport is listening to the Karma render settings node properly.
After rendering to disk, caustics still do not appear.

What is the color limit set to? The default is 10, which will prevent all but the broadest light sources from generating caustics. Try removing the limit by setting it to something arbitrarily high like 1e9 to see if shows up then.
User Avatar
Member
65 posts
Joined: Aug. 2015
Offline
Hey jsmack,

Thanks for the reply. That definitely seemed to help a bit. I just set it to a high color limit like 99999999 and it looks like something is starting to show up:



But, it's still not close to the RS comparison yet. I'll keep on messing around with some settings and if I can't figure it out, then I'll just run with this and move onto the next test.

Attachments:
causticProblem3.JPG (34.7 KB)

User Avatar
Member
9088 posts
Joined: July 2007
Online
tbay312
But, it's still not close to the RS comparison yet. I'll keep on messing around with some settings and if I can't figure it out, then I'll just run with this and move onto the next test.
from your screenshot it looks like you are using biased photon based caustics in RS, which you can do in Mantra but not Karma

for path traced caustics you likely need either path guiding or some bidirectional technique like VCM probably using a dedicated caustic sampler
Karma supports path guiding in CPU, so maybe you can try that first and see if you start seeing something and if so you can switch back to GPU, increase your sampling to infinity and wait for them to show up eventually

if you want to have real fun though, load your scene in Omniverse, turn on iRay's Caustic Sampler and watch your detailed caustics appear almost real time, it feels like magic
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
65 posts
Joined: Aug. 2015
Offline
The iRay Caustic Sampler sounds like a dream! haha Thanks for the info Tamte.

This whole project is a massive render test comparison between Redshift and Karma that's designed to help artists understand the various pros/cons. So, if I can't figure something out within 5 hours, (after digging through the documentation + other videos), then it's too complicated for the average artist to use, and I'll just go with the render as is.

On one hand, I want to make sure that the tests / capabilities are shown properly. On the other hand, the average artist doesn't have time in production to fiddle around with something that's technically possible but also difficult to figure out. They got deadlines breathing down their necks without time to fiddle around with it. So, in that spirit, I decided to move on with a different test.

Thanks for the help!

- Tyler
User Avatar
Member
9088 posts
Joined: July 2007
Online
tbay312
On the other hand, the average artist doesn't have time in production to fiddle around with something that's technically possible but also difficult to figure out
In that case try CPU with Photon Guiding as in my experience that's the only way to get semi decent caustics out of Karma in your type of scene

XPU caustics are pure brute force so that may be more suitable for relatively easy caustics like under small water droplets, anything more complex will most likely not find enough light paths to actually resolve to a decent quality for denoisers
Edited by tamte - Feb. 16, 2024 16:12:56
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
8114 posts
Joined: Sept. 2011
Offline
you should be able to get something for sure. this was with basic karma physical sky and glass shader.

Attachments:
test_green_glass.jpg (714.6 KB)

User Avatar
Member
733 posts
Joined: July 2005
Offline
tamte
tbay312
if you want to have real fun though, load your scene in Omniverse, turn on iRay's Caustic Sampler and watch your detailed caustics appear almost real time, it feels like magic

That sounds lovely. Can we get that SideFX?
Meanwhile the caustics at home. 10,000 samples with XPU and optix denoiser. I'll have to try CPU with path guiding.




Btw Tyler, if you are doing any sort of comparisons with refractive surfaces, one thing to watch out for is the Enable Internal Reflections setting in H20: https://www.sidefx.com/forum/topic/93357/ [www.sidefx.com]
Edited by Siavash Tehrani - Feb. 16, 2024 19:27:38

Attachments:
snifter_caustic.jpg (187.9 KB)

User Avatar
Member
32 posts
Joined: Aug. 2011
Offline
Isn't this where the pointcloud lookup comes in play?
User Avatar
Member
1 posts
Joined: Dec. 2020
Offline
Hi Tyler,
I´m very interested to see results for your "render tests for Karma XPU + Redshift".
I used the last days to check Karma caustics too, and can say that you´re opinion is complete correct.
Basically it is very easy to activate true caustics...check it in the render settings.
But then, internal reflections are off by default, which is also a must for caustics Off!
And then, I see nothing than noise.
Searched for hours to find the correct parameters for noise free secondary diffuse and refraction rays...
Nothing helps. Not higher diffuse samples, not light samples, not settings the color limit to infinity.
Nearby no difference in the noise amount.
Path trace samples to 15000 was the only way to see a better/lower noise result, but looks like it needs 50000 or so.
Absolute not usable in this moment.

Cheers
User Avatar
Member
5 posts
Joined: Jan. 2019
Offline
Hello,

I tried the karma xpu caustics settings.
Reflective caustics work quite well.
Refractive caustics can be made to work with extreme parameters.
I think they can be used for still images.
It probably flashes in animation, I haven't tried it.

I have the color limit = 10.
Not sure if this is the solution.
But it can help.

Greeting
Edited by atitimar - March 27, 2024 20:04:38

Attachments:
caustics_xpu.png (1017.0 KB)

User Avatar
Member
13 posts
Joined: Nov. 2018
Online
Have there been any improvements to Karma XPU refractive caustics in H20.5? I have a client who won't even think about rendering in Karma until the refractive caustics are top notch! We are doing all cosmetics and glass. Refractive caustics are super important in that particular market.
Edited by cushwa - July 12, 2024 10:52:27
User Avatar
Member
31 posts
Joined: Aug. 2020
Offline
Doesn't appear to be, seems like you'd need upwards of half a million samples in XPU to get caustics even somewhat comparable to CPU with indirect guiding.
User Avatar
Member
328 posts
Joined: Aug. 2018
Offline
I'm really hoping we'll see some massive improvement in this area of refractive caustics - and soon. It makes Karma unusable for some of the stuff I want to do.
Edited by Mike_A - Feb. 5, 2025 04:44:11
User Avatar
Member
191 posts
Joined: Feb. 2017
Offline
Hope in H21 we can have the caustics function in XPU.
User Avatar
Member
51 posts
Joined: Aug. 2014
Offline
I'll add my 2-cents to the discussion. The Octane photon tracer kernel works incredibly quickly and with stunning results... but I always preferred working with Houdini native rendering where possible in the past - just a lot more adaptable that way.
The photon kernel is pretty much the only thing that keeps me using Octane - I'd probably dive into Karma XPU in a heartbeat if we got something comperable.
Dan Wood
Vortex VFX Ltd
User Avatar
Member
262 posts
Joined: March 2013
Offline
Caustics represents a fraction of the user base, it's incredibly hard to solve in a brute force uni-directional path tracer. Octane has a great cheat/approximation method that works really well, I think that is honestly the better path for this if you need speed.

I can see it being addressed, but there are many more higher use issues/features that would probably come before caustics in XPU.

L
I'm not lying, I'm writing fiction with my mouth.
User Avatar
Member
51 posts
Joined: Aug. 2014
Offline
lewis_T
Caustics represents a fraction of the user base, it's incredibly hard to solve in a brute force uni-directional path tracer. Octane has a great cheat/approximation method that works really well, I think that is honestly the better path for this if you need speed.

I can see it being addressed, but there are many more higher use issues/features that would probably come before caustics in XPU.

L
Fair points, but I'd argue that it's only so niche/fractional because it's traditionally a super-heavy brute-force-only effect, and if you want them, you have to go seek out a specialized solution for them. In photorealism terms, caustics aren't just refraction-lensing effects through wine glasses, they're absolutely everywhere - anywhere there's a surface with non-zero transparency or specular - anywhere the sun is shining on a window, etc. We just accept not having them as a necessary trade-off, because in a lot of scenes they would be deemed "subtle", and the computation cost massively outweighs the visual benefits.

I'd personally say that a near-enough cheat/approximation, even in an otherwise unbiased, serious renderer, would be preferable to just not having them at all. I think if that was the case, the implementation was straightforward and mostly transparent (didn't require a lot of manual tuning), and was fast, a lot more people would start using them for things besides glass/jewelry/water.

(All that said, I totally understand there are probably more important things on the Karma XPU to-do list :-)
Edited by VortexVFX - March 22, 2025 11:05:07
Dan Wood
Vortex VFX Ltd
User Avatar
Member
262 posts
Joined: March 2013
Offline
Yeah potentially. I think caustics can get so art directed to the point it's why we mostly don't bother unless it's very obvious it's needed. There are times you want to reduce or remove them. I think almost no-one cares about super physical accuracy so they should indeed be some approximation. To do them properly you need di-directional tracing, this I cannot see any renderer supporting as it's just too difficult to solve efficiently. The closest thing you have is renderman's VCM mode, but it is very slow.

I'm all for a fast solution that is controllable.
They sure are a pretty effect.

L
I'm not lying, I'm writing fiction with my mouth.
User Avatar
Member
9088 posts
Joined: July 2007
Online
I'm all for approximation, many renderers have dedicated caustic samplers, which can produce very fast and sharp caustics

Karma shouldn't be the odd one out

Unbiased or physical should not even be a part of the argument as Karma is not aiming to be 100% physical (or if it does it's far from it still)
For that sake approximate caustics are more realistic than no caustics or faux caustics
Edited by tamte - March 24, 2025 19:52:23
Tomas Slancik
CG Supervisor
Framestore, NY
  • Quick Links