What’s the Raytrace > Fresnel node used for?

Nodes are the essential building blocks in the Advanced interface to the Poser Material Room. They are the graphical representation of mathematical function calls, that is: calculation procedures which turn parameters (inputs) to a result (output).

Intermediate

Fresnel is the elaborated combination of reflection with refraction (transparency included), as shown in nature by transparent materials like glass and liquid. Those materials show low reflection and high transparency at angles perpendicular to the surface, towards the camera, and high reflection and low transparency at skew angles towards the camera. The higher the (Index of) Refraction of the material, the stronger this effect. On the other hand: the less reflective a material, the more noticeable the effect as an object will become completely reflective at the edges, whatever its IOR.

Reflection makes light rays bounce from an object surface, to show scene elements between the object and the camera, and behind the camera as well. Transparency makes light rays pass through the object surface, showing scene elements behind the object (from the cameras point of view). Refraction then makes those latter light rays bend when passing the surface, and color them too.  Do note however that refraction brings its own transparency, and like refraction and reflection, Fresnel is supposed to work with fully non-transparent surfaces. If not, numerous issues have to be dealt with to get any believable result within feasible render times.

The Fresnel effect itself is supported by the Fresnel node (discussed here) and the Fresnel_Blend node. Like Refraction, Fresnel does require raytracing to be switched ON in Render Settings. The quality of the result depends on the ‘Number of Bounces’ set in Render Settings as well. This number is a maximum value, when Poser does not need them it won’t use them, but if the number of bounces for a light ray exceeds this limit, this light ray is killed. This might speed up the rendering while it also might introduce artifacts (black spots) in the result. The tradeoff is mine, but as nature has an infinite number of bounces, the max value is the best when I can afford it.

Do note that Fresnel – like Refraction – only handles the light from objects in the surrounding scene. It does not cater for the rays from direct light sources (spot, point, etc. lights), these will not get bend at all. Fresnel does not let light pass through an object shining onto another object, the object will be opaque for direct light, and shadows will be dark as a result. But Transparency behaves as expected, as described elsewhere in a basic and advanced way.


The right pawn still shows refraction as before, the left pawn shows Fresnel. Especially the upper edge of the left pawn clearly shows that Fresnel is not only transmitting the wall at its back, but also is reflecting it. These reflections are missing on the right pawn.

About the Fresnel node parameters:

The Index Of Refraction is mentioned above. Values for various materials can be found here.

Quality offers a tradeoff between speed and result; high values require longer render times but present crispier results. Softness increases the blur of the refracted image, representing irregularities, impurities and even minor movements and vibrations in the refracting surface.

Background is meant to fill in the pixels where no scene elements are around to be reflected, but it should be used with care because this idea is pretty meaningless for transparency / refraction. Otherwise I’m looking through a transparent surface, seeing things which are not there at all.

Refraction Color (in the PoserSurface column) gives color to the material, like red to wine or sapphire. But do note that this is a surface effect only, like a colored plastic cover around the object. Poser cannot do volumetrics, the wine will be equally red whatever way I look at it, and glass will be equally red whatever the thickness.

The final amount of refraction will be made up from the combination of Refraction_Color * Refraction_Value. This holds for the surface color as well as for the refractive and reflective effects themselves. To represent a dark colored material, I can either use a dark color in the swatch, or a low value. The Color will be affected by Gamma Correction, the Value will not so 80% White and 100% Value will behave different from 100% White and 80% Value under GC render conditions.

Rendering

Although reflection and refraction themselves do have another parameter, RayBias, in common, that one is missing here. This RayBias is introduced to avoid undesired optical effects from tiny surface irregularities, induced by displacement maps. Think of scars etc. on skin. Using RayBias speeds up the rendering but might introduce artifacts when set too high. So… Fresnel is more accurate at the tiny surface details, will not have the artifacts, but certainly will suffer from low render speeds when applied to a displacement-mapped surface.

Raytraced refractions and reflections are (sort of) realistic, detailed, and therefore time and resource consuming at render time. As a consequence, one should be careful not to put too many raytracing intensive challenges into one scene, otherwise the rendering will take forever. InDirect Lighting (IDL) is such a challenge, Fresnel – combining reflection and refraction is such a challenge, having a lot of reflective and/or refractive surfaces in one scene is a challenge, having reflections, refraction (and especially Fresnel) on a complex surface is a challenge, and having Max Bounces (and the IDL Quality options) set high in Render Settings make a challenge as well.

Take the Refraction vs Fresnel image shown above. It’s IDL, and reflective wall and floor, and quite high values in Render Settings. Rendering took 3.5 hours on quite a fast PC. Poser does have its limitations.

On top of all those things, raytracing is designed to work with a completely non-transparent surface; refraction caters for (full) transparency on its own. While doing so, raytracing works for objects in the scene only, it cannot handle direct light, nor the shadows or specularity thereof. Mixing raytracing with transparency however might produce unexpected or even erroneous results, while also taking render time to infinity.

Next >

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.