question

Isabel F. avatar image
Isabel F. asked ·

How does Arnold as a Monte Carlo ray tracer implement caustics?

From what I read on the forum, there are two types of caustics Arnold can do, the real caustics in the advanced tab and then the fake caustics effect. What are the differences between them and furthermore how does Arnold as a Monte Carlo ray tracing renderer implement the physical theory of them? I have read that Photon Mapping is normally needed for doing caustics, so I am a bit confused on how Arnold is able to do it with ray tracing.

Is there some academic papers or articles about it?

caustics
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Isabel F. avatar image
Isabel F. answered ·

Thank you really much for the quick answer!

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Lee Griggs avatar image
Lee Griggs answered ·

Hi Isabel,

"Arnold uses simple, uni-directional path tracing. Rays start at the camera, not at the lights. Arnold does not use bi-directional path tracing (nor any other bi-directional technique, such as photon mapping, which fires rays from the lights). When using standard lights, like point lights and spot lights, which are idealized lights with zero area, i.e. point lights, it is simply impossible for Arnold's GI/reflection/refraction rays to hit the lights. Therefore, there are no caustics.

However, it is possible to turn point lights and spot lights into finite-size lights by increasing their 'radius' parameter, the bigger the less noisy, which makes them spherical lights, which give beautiful soft shadows and soft highlights. You must also enable the light's transmission so that the caustic appears. It should then be possible for GI/reflection/refraction rays to 'see' those lights.

Instead of using Arnold's standard lights, you can create a polygon mesh, give it a flat emissive shader, and let the GI engine 'find' that light. You will then get caustics. However, this is very inefficient, because small emissive objects are hard to hit. You would need many rays, or a very large emissive object, for this noise to be acceptable. That is why the user guide states that we can do 'soft' caustics, as coming from big emissive objects."


Here are some links that may be useful:

https://docs.arnoldrenderer.com/display/A5AFMUG/Arnold

https://www.arnoldrenderer.com/about/

https://docs.arnoldrenderer.com/display/A5AFMUG/Advanced

https://docs.arnoldrenderer.com/display/A5AFMUG/Refractive+Caustics+using+an+Emissive+Shader

https://docs.arnoldrenderer.com/display/A5AFMUG/Fake+Caustic+Effect

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.