Ensure that you accurately model glass surfaces with thickness. Otherwise, the glass will not render correctly.
To accurately render refractive surfaces with Arnold, it is important that your model follows certain guidelines:
![]() |
![]() |
Glass bowl normal direction | Liquid normal direction |
A ray of light travels through the air (IOR = 1.0), enters the glass, and is refracted by the IOR of the glass (1.5). After traveling through the glass the ray leaves the glass and enters the liquid, i.e. it travels from one medium of IOR 1.5 to another medium of IOR 1.33.
Below we have a simple glass bowl model. You can see in the image on the right that the normals of the mesh are correctly pointing outwards. The correct normal direction is important when rendering refractive objects with Arnold.
![]() |
![]() |
Surface normals are pointing outwards
In the example below, the surfaces of both the glass and liquid are sitting on top of each other, and are therefore coincidental. The renderer has problems identifying between each surface, which will output as overlapping artifacts.
![]() |
![]() |
Glass and liquid surfaces are coincidental
In this case, the liquid has been scaled down slightly. The gap between the glass and the liquid is very small. The resulting render does not look realistic.
![]() |
![]() |
Liquid is scaled down (looks wrong)
Here the scale of the liquid has been increased so that it overlaps the glass bowl geometry. This looks much better as the liquid appears to be touching the glass.
![]() |
![]() |
Liquid is scaled up
Note that even though this modeling approach does 'look' correct, you should be aware that this is not a physically based approach. In general, objects should be modeled as realistically as possible to attain correct results when rendering with Arnold.
In the example below, the surfaces of both the glass and liquid are sitting on top of each other, and are therefore coincidental. You can see errors in the image on the right because the renderer has a problem identifying between each surface.
![]() |
![]() |
Glass and liquid surfaces are coincidental
In this case, the liquid has been scaled down slightly. The gap between the glass and the liquid is very small. The resulting render does not look realistic.
![]() |
![]() |
Liquid is scaled down
Below, the scale of the liquid has been increased so that it overlaps the glass geometry. This looks much better as the liquid appears to be touching the glass.
![]() |
![]() |
Liquid is scaled up