Skylights

Custom adjustments of the skylight

In addition to changing the intensity of the light, you might want to change any other light property like the color of the light or even the type of light. By default, the type of light in my skylights is klieg but a bulb type might be preferable. There are several ways to get rid of star patterned shadows on the ground that result from using a skylight. For a detailed analysis of the effect of each of the techniques discussed here, see Analysis of techniques for improving the skylight.

Increasing the width

A first possibility is to simply increase the width of the light but still staying with one ray. This enables the Raytrace Shadow Falloff which decrease the intensity of the shadow as it gets further from the shadow casting object. While not removing the star patterned shadow effect completely, it reduces the effect by reducing the shadows hard edges as it gets further from the objects and it, most of the time, remove the multiple shadows projected on walls.


20 lights with width of 1cm

20 lights with width of 1000cm

The main advantage is that it does not increase the rendering time. The main disadvantage is that it significantly reduces the strength of the shadows and increase the general luminosity of the scene. The seating effect on the objects in the environment that shadows should do also disappears. The seating effect (or grounding effect) is the perceptual cue that the shadows provide about the spatial relationship between an object and its environment. See "Surfaces in contact" for a complete explanation.

Also, because of the shadow falloff distance, it makes it impracticable to use a dome as a filter to color the lights casted on the scene (see Advanced techniques with a skylight).

This is an interesting option when the skylight is used as a replacement for the global ambiance setting in combination with a main sun that is supposed to cast the main shadow. This is also the only option when using the sun type of light in the skylight because the sun light does not support the multi ray cast that produces soft shadows.

Increasing the number of lights

A second possibility is to increase the number of lights. For instance, going from 24 lights to 240 lights. This will increase the rendering time by a factor of about 10 since there are 10 times more lights.


69 lights with width of 1cm

148 lights with width of 1cm

This seems reasonable at first but it does not work very well for two main reasons :

  1. Even if the star pattern becomes almost unnoticeable on nearby surfaces, it is still noticeable on further away surfaces such as walls.
  2. some very subtle banding will result and will become very annoying during animations. All of this is because the lights are still point light sources. Tests with number of lights of about 500 have shown that the banding is still visible in some circumstances and it is very easy to design a scene where they are visible even with 1000 lights because it is possible to place an occluding object near a few of the lights in the skylight that will cast a few shadows near the center of attention in the scene. Although one is unlikely to do that on purpose, in complex scenes such as large outdoor scenes, this can be a problem.

Increasing the number of rays

A third possibility is to enlarge the light and increase the number of rays cast in order to produce soft shadows. For instance, keep 24 lights but let them cast 10 rays each. This will also increase the rendering time by a factor of about 10 since there are 10 more rays.


20 lights, width of 100cm, 2 rays. Note the star pattern in the shadow is blurry but still visible. Also noise grain becomes apparent

20 lights, width of 200cm, 2 rays. Note the star pattern in the shadow is even more blurry but still visible. Also, even reduced at 50%, the noise grain is visible here.

20 lights, width of 800cm, 2 rays. Note the star pattern in the shadow has now disappeared but, even reduced at 50%, the noise grain is now clearly visible.

20 lights, width of 800cm, 25 rays. The star pattern in the shadow has disappeared and the noise is almost imperceptible.

In order to achieve this with a small number of lights, it is necessary to enlarge the light to some extreme size. This completely eliminate the banding effects and the star pattern shadows but tends to produce very grainy images due to the random sampling of the lights positions. However, I found that the noise is much less objectionable than banding in animations.

There is one objection to very large skylight lights though. With a very small number of lights, such as an 8-lights skylight rig, the lights can easily expant to touch the objects in the scene.

Increasing both the number of lights and the number of rays

A fourth possibility is a compromise between the two previous ones and the one that gives the best results IMO. Lets say 60 lights with 4 rays each. This will still gives 240 rays so it will take about 10 time longer to render.


69 lights, width of 300cm, 3 rays. With this setup, banding is eliminated and the noise is not objectionable.

69 lights, width of 300cm, 7 rays. With this setup, there is no banding and the noise is almost invisible.

By having more lights, their size doesn't need to be so large. They only need to be large enough to blur the shadows on the ground and walls and to blur the bandings. By having smaller sizes, the render will have a much less grainy appearance. A good rule of thumb for the bulb size is to size them in such a way that they overlap their next and second neighbor lights up to their center.

In general, it is not necessary to go to setups as large as 500 lights. The 52 or 69 light rigs available here with light widths of 400cm and 8 rays gives very nice results with unnoticeable noise. Also, the same setup with 200% oversampling is equivalent to a rig with about 2000 rays.