JF Nested Dielectric

JF Nested Dielectric is released as a Psyop open source initiative! It’s a shader for Solid Angle’s Arnold Renderer. It has one purpose – efficient, physically-plausible rendering of nested dielectric surfaces in production. Licensing info, source, and DCC helper files are available in the Git Repo linked below.

In large part, this is an implementation of the 2002 paper: Simple Nested Dielectrics in Ray-traced Images by Charles M. Schmidt and Brian Budge

It’s also capable of capable of spectral dispersion, direct refraction of light sources, production-feasible ray traced blurry caustics. It also has a few different optimization techniques built in to improve render times, including Russian Roulette and energy tracking and clamping throughout the ray tree.
Visualized by my ICE ray tracer

Visualization of ray-tracing dielectric media

JF Nested Dielectric is Copyright (c) 2014, Psyop Media Company, LLC and Jonah Friedman

6 thoughts on “JF Nested Dielectric

  1. Hey. Thanks for the nested dielectrics shader. Amazing! I was hoping you could answer me a simple question about it. I’m using C4D and rendering a glass bottle, it seems like at real world 1 to 1 scale that transmittance does some odd things and can’t colour the bottle the way I want. Its either really dark or really pale with no in-between. Should I be working to a larger scale? I’m usually a vray user and changing scale is a no no but seems like the only way here. Hope you get time to respond, but thanks anyway.

    • Hi Howard,

      There’s a scale control on transmittance. The idea is- scale everything up 10x, you should put the value 10 in there, and it’ll look like the 1x scale with 1. So a higher number in scale makes the medium pass more light though.

      Another thing to make sure- don’t use a fully saturated color in there. If you use a color like 1.0, 0.25, 0.25, because red is 1.0, no red light is ever lost. So the other two values can become really tiny over distance, and it’ll feel like whatever you do, the liquid stays bright red.

  2. Hi. Thanks for sharing such a wonderful shader. I’m Motiongraphic Designer working in Seoul, Korea. I’m currently working on a project to use JF Nedsted Dielectric. The problem is this. When I use Maya&Arnold basic light(Area, Directional, Physical Sunlight), The shader works fine. But If I use HDR images for realistic lighting, I can’t remove noises or fireflies from everywhere. Refraction, indirect specular and indirect diffuse passes has a lot of noise. Do you have any idea to solve this problem? Especially when you using HDR images.

    • Hi Doseok,

      Thank you! About the fireflies, seeing pictures would help but I have a pretty good guess anyway. I’d say they’re probably all related to direct refraction, which is refraction of direct light sources. The fireflies they cast everywhere else are because of direct refraction caustics (which can be turned off under caustics).

      For the fireflies in the glass itself, I would try increasing the roughness of the direct refraction, or use the controls to increase its roughness with depth.

      Also, please send pictures :)

      • Thanks Jonah
        Could I get your email address? So that I can ask about the shader and send you some pictures which I testing.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>