Geometry - Arnold User Guide
- Thin Walled
- Transmissive case
- Non-transmissive case
- Opacity
- Bump Mapping
- Normal
- Tangent
- Anisotropy Tangent
Thin Walled
In the thin walled mode, the surface is considered to be a (microscopically) thin two-dimensional sheet of material, rather than the boundary of a solid object. This is intended for the convenient and efficient rendering of thin materials (such as window panes, soap bubbles, sheets of paper and leaves) as open meshes rather than closed thick shells.
For example, with Thin Walled mode disabled, the shaderball below is rendered as thick glass, which refracts the background. With Thin Walled mode enabled, the shaderball is rendered as a thin pane of glass, so objects behind the pane are not refracted.
![]() |
![]() |
Disabled (default) | Enabled |
Obviously it is recommended that this only be used with thin objects (single-sided geometry) as objects with thickness may render incorrectly.
In certain situations, Thin Walled may work fine with thickness. However, you should ensure that the Diffuse Ray Depth level is above 1 when using Thin Walled with objects that have thickness.
![]() |
![]() |
Diffuse Ray Depth: 1 (default) | Diffuse Ray Depth: 3. Red emission is visible in cube and plane. |
Transmissive case
With transmission enabled, the thin-wall is an infinitesimally thin sheet of dielectric, such as an idealized window pane. This reflects and transmits light, but does not cause the light direction to refract.
For example with Thin Walled mode disabled, the water drop below renders as a solid body of water, while with Thin Walled mode enabled it models a thin bubble. Note the iridescence typical of such bubbles can be modeled via the Thin Film parameter.
![]() |
![]() |
Disabled (default) | Enabled |
Non-transmissive case
With Transmission disabled, the thin-wall either allows some light through (if Subsurface is enabled) or is totally opaque (if Subsurface is disabled). The latter case (Subsurface disabled) behaves like an opaque two-sided diffuse surface. The former case (Subsurface enabled) produces "diffuse transmission", which is suitable for rendering thin materials such as paper and leaves, which transmit some light but scatter it internally, so the background seen through the surface appears very blurry and optionally tinted.
![]() |
![]() |
Thin Walled disabled (default) | Thin Walled enabled |
If Subsurface is enabled, the the scattering properties of the thin wall are controlled by Subsurface Color and Subsurface Scatter Anisotropy. The scattering through the sheet is enhanced and reduced by positive or negative Subsurface Scatter Anisotropy.
![]() |
![]() |
![]() |
Subsurface Anisotropy: -1 | Subsurface Anisotropy: 0 (default) | Subsurface Anisotropy: 1 |
Opacity
This defines the "presence" of the surface locally. If set to 0 the surface is deleted and cut away, effectively making a hole through which light can pass. If set to a fractional value, the surface is partially present, so appears to be alpha-blended on the background.
This is usually used in conjunction with Thin Walled mode to create "cut-out" areas of two dimensional objects without explicit geometry, e.g. for rendering leaves. This can also be useful for tricks like retaining the shadow definition of an object, while making the object itself invisible to the camera.
Opacity less than 1 doesn't make strict physical sense, unless the surface is Thin Walled (or if the Opacity is zero everywhere)
![]() |
![]() |
![]() |
1 (default) | 0.5 | 0 |
![]() |
![]() |
![]() |
Alpha map -> Geometry Opacity | Texture map -> Base Color | Rendered leaf |
Bump Mapping
![]() |
The Geometry Normal parameter can be used for bump or normal mapping. Bump mapping is a shader that perturbs the normal for bump mapping. Normal mapping works by replacing the interpolated surface normal by the one evaluated from an RGB texture, where each channel (Red, Green, Blue) represents an axis and strength for the bump. It can be faster than bump mapping since bump mapping requires evaluating the shader underneath three or more times.
Normal
Connect a Normal Map here (usually exported from Mudbox or ZBrush).
Normal mapping works by replacing the interpolated surface normal by the one evaluated from an RGB texture, where each channel (Red, Green, Blue) corresponds to the X, Y and Z coordinates of the surface normal. It can be faster than bump mapping since bump mapping requires evaluating the shader underneath at least three times.
![]() |
Tangent
The tangent map. Together with the shading normal, it defines the tangent coordinate system that the input vector applies to. If available from your sculpting tool, you should connect here the tangent map that the normal map relies on. If 0, the shader attempts the following actions to build the frame:
- Look for vector user data named "tangent" and "bitangent."
- Use the UV derivatives.
- Build its own local frame.
The shader works in tangent space only. If your tangent map was exported in either world or object space, you could instead use the more generic Space Transform shader.
Anisotropy Tangent
The tangent used to define the direction of the corresponding specular lobe when using anisotropy.
![]() |
![]() |