This shading node does refractions at boundary and then continue the ray into a volumetric medium with single scattering until it hits the back of the surface and it's finalized into a new direction. This model is generally applicable to materials with low indices of refraction so that their translucent nature implies that a high percentage of the incident light enters the material making the subsurface contribution quite large.

Don't forget that with rombo materials we can also do multiple scattering refractions with the SSSRefract node .. while those are slower and prone to noise their appearance is more expressive than with single scattering.

Let's see the main parameters and the GUI that come with romboRefract.

While the node at the moment uses build-in BSDFs it has some nifty features already.

One is to be able to use extra samples for the shader refractions so we can increase them indipendently from the global Arnold sampling settings to have better shading on problematic materials/objects. The left sphere is rendered solely with global sampling settings (AA: 3, Refr: 2) while the right one has an additional 2 samples .. note the lack of white dots noise. 

Another one is to be able to quickly setup a physical caustics workflow without having to deal with involved ray type shaders. Because the 'opaque' flag has been removed we can't effectively setup a physical scenario for our caustics without extra nodes. It is true that with Arnold (unidirectional pathtracer) caustics are still a bit off but sometime it's cool to render them. With romboRefract we can also decide to render only 'transmissive' caustics and not 'reflective' or viceversa because we have indipendent parameters for each type of caustic.

By default we have only plain transparency instead when we set caustics to 'hybrid' we have transparency + caustics which is the default caustics mode for Arnold with Standard Material. Note the lack of shadows however (left sphere). If we wanna them accounted for then we gonna set caustics to 'physical'. Take care that however Arnold here has a limitation .. when caustics are set like that (ie. no transparent rays) then the volumetric scattering we get when increasing density/depth it won't work properly. 

We can also indipendently choose different BRDF types for reflections and refractions. So we can go with Beckmann style refractions which are a bit more easy to get rendered while keeping GGX just for reflections. Same goes for roughness where having two completely indipendent parameters it makes life ways easier when wanting to use custom maps to drive ie. reflections roughness like here below where we use a map for scratches. 

And how about some car glass with 'thin wall' option enabled ?


Keywords :

refraction, arnold, arnoldrender, arnoldrenderer, shader, material, reflect, reflection, microfacet, arnold shaders, arnold download, arnold materials, arnold renderer materials


One thought on “Refractions

Leave a Reply