Shaders: Refraction BSDF

Node Interface

Example Output


Function A transparent material with refraction but no reflection
Nearest C4D equivalent Simple material with the transparency channel enabled

This node is used for materials which must refract light passing through them . For purely transparent materials, see the Transparency BSDF node; for reflections without refraction, see the Glossy BSDF node; for materials which both reflect and refract light, see the Glass BSDF node.

Compare the above sample render to that given by the Glass BSDF shader. The results are identical except that this material does not reflect light.

This material will generate caustics if they are turned on in the render settings.


Note: a * symbol next to the name indicates the parameter also has an input port. A # symbol indicates that the parameter can only be changed with an input node, not in the node itself.

Distribution drop-down

This menu lets you choose the distribution algorithm for how refraction is calculated. If the Sharp algorithm is selected, the Roughness setting has no effect.

Color *

You can change the colour directly in this parameter, but you can input the colour from any other node which has a Color output. This is where you would link an Image Texture node to use a bitmap, for example.

In this node, the brightness of the colour will affect the transparency. Pure white is 100% transparent; pure black is completely opaque.

Roughness *

The roughness of the refraction; useful for such things as frosted glass. Note that increasing this value may increase the risk of render artefacts such as fireflies. It has no effect if the distribution is set to Sharp.

With distribution set to Beckmann and a roughness of 0.2, this is the result:


The index of refraction. Different materials have different IORs and this will affect the rendered result. The default value of 1.45 is the IOR of plain glass.

Normal #

With this setting you can alter the surface normals of the object, which will have a significant effect on the rendered output since it will affect the way light is reflected from the surface.

This setting requires a vector input, so you need to link another node with a vector output port to this port.



A shader port which can be linked with shader ports on other nodes.