This shader implements a variation of the Hosek-Wilkie sky radiance model, including the direct solar radiance function. You can plug it into the environment, or to the color input of a Skydome light (which benefits from efficient importance sampling, sending more rays to bright areas around the sun) or add it directly as an environment shader. Currently, this shader is invisible to GI diffuse and specular rays. To use it as a light source you must attach it to a skydome_light with sufficient resolution to capture the small solar disk.

This is an experimental shader. Although it has been tested extensively, please be warned before using it in production.

If you experience flickering during an animation, this is likely because the skydome_light resolution is too low to capture the sun. Try increasing the resolution of the skydome_light.

Due to the inherent nature of the physical_sky shader, there will be a horizon line, and depending on the camera position, the ground plane below the horizon will always appear dark.

The physical sky uses a polar coordinate system. Elevation has an angle between 0 degrees to 180 degrees (sunrise to sunset). The sun is at the zenith at 90 degrees. The azimuth has an angle between 0 degrees to 360 degrees.

To use a physical_sky for lighting, first, create a skydome_light (Tab > Arnold > Arnold Light. Change Light Type to Skydome). Change Color Type to Shader. This will add the Color Shader parameter showing the location of a vopnet that is contained inside the light node for convenience. 

A physical_sky shader can be added inside this vopnet and connected to the color parameter of the Light Output.

If the physical_sky is also required to be visible to the camera, specular, or transmission rays then an Environment Output can be created in the same vopnet and the physical_sky connected to the background input.
This shader can then be linked to the Environment parameter of the Arnold ROP

Alternatively, a vopnet could be created in the SHOP and a Fetch node used to grab the physical_sky

For convenience, a material has been created at the shop level which contains both a Light Output and Environment Output.

Azimuth / Elevation

When disabled, the Solar Direction values replace elevation and azimuth (see Solar Direction).


The angle of the sun around the horizon. Measured from the north, increasing towards the east (0 to 360 degrees).


The angle between the sun and the observable horizon. The range is between 0 and 180 (90 to 180 is a mirror reflection of 0 to 90).

Left - Sun Elevation: 0 to 48 degrees (azimuth 0 to 360 degrees). Right - Sun Elevation: 0 to 20 degrees.


It is possible to connect a native distant/directional sunlight to the physical sky using this attribute. Solar Direction will not work unless use_degrees is first disabled.

Enable Sun

The toggle switch that enables/disables the visibility of the sun.

Sun Size

Sets the size of the visible solar disk. It is possible to change the size of the sun for 'artistic' reasons. However, 0.51 is the solid angle (degrees) of the sun, as seen from the earth. Increasing this value increases the area size of the sun and will, therefore, create softer shadows.

Sun Tint

It allows you to set a color that 'tints' the color of the sun. This an RGB multiplier that should be used for subtle coloration. Any non-subtle coloration will give physically inaccurate results and will produce a strange inconsistency between the sun and the sky colors (unless both tints are exactly the same).

Sky Tint

It allows you to set a color that 'tints' the sky color. The sky tint should be used for subtle coloration. For example, making the sky a slightly deeper blue color.

Ground Albedo

The amount of light reflected from the planet surface back into the atmosphere. This is an RGB value between 0 and 1, where 0 0 0 would correspond to a black ground, and 1 1 1 would be a white ground. Note, that this is a subtle effect (noticeable in the top corners of the images below).


Intensity is a scalar multiplier for the sky radiance. This value is similar to the sky_tint. However, the sky_tint uses RGB values whereas intensity uses scalar values (easier to adjust).


Turbidity determines the overall aerosol content (dust, moisture, ice, fog) of the air. It is used to easily define sky appearance and affects the color of the sun and sky.

Turbidity values range from 1 to 10:

2: Yields a very clear, Arctic-like sky.
3 (default): A clear sky in a temperate climate.
6: A sky on a warm, moist day.
10: A slightly hazy day.


In certain cases, it may be useful to change the orientation of the physical_sky. For example, your scene up direction is mapped to +Z instead of +Y.


Fireflies can appear when rendering scenes with glass surfaces and the physical_sky shader. They are caused by the bright sun disc from the physical_sky that is connected to the Background. A workaround is to connect a different physical_sky to the Background that has enable_sun disabled.

Further examples

  • No labels
Privacy settings / Do not sell my personal information / Privacy/Cookies