Enabling Caustics with XPU

   4067   12   2
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
8045 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
8836 posts
Joined: July 2007
Offline
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
FX Supervisor
Method Studios, 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
8836 posts
Joined: July 2007
Offline
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
FX Supervisor
Method Studios, NY
User Avatar
Member
8045 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
729 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
12 posts
Joined: Nov. 2018
Offline
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
28 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.
  • Quick Links