In this tutorial, we will go through the steps of creating a realistic globe and clouds using only shaders. We will add some atmosphere to the horizon with a Volume and a Standard Volume shader. We will also light the scene using a physical_sky connected to a skydome_light. This scene would make an ideal backdrop for a fictional film about some unfortunate astronauts, for example. Many thanks to Will MacNeil at MPC for providing the scene used for this tutorial.
- You will need to download and use these high-resolution textures for use with this scene. Remember to convert the textures to .tx format before rendering.
The final scene file can be downloaded here.
![]() |
![]() |
![]() |
![]() |
Earth Mask (specular) | Earth Color (diffuse) | Earth Elevation (displace) | Clouds (emission, opacity, displace) |
The tutorial is broken up into the following stages:
Begin by opening the start scene. This scene contains an object called Earth* and Cloud*. We will apply the respective shaders to these two objects.
Start scene containing Earth, Cloud and Atmosphere objects
Open the Slate Material Editor. Create a physical_sky. Open the Environment and Effects window (8) and drag the physical_sky onto the Environment Map slot.
Open the Render Setup window (Rendering ->Effects). Go to Environment, Background & Atmosphere under the Arnold Renderer tab. Change the Mode to Advanced. Change the Background Source to None so that we don't want to see the sky in outer space. Adjust the Azimuth/Elevation of the physical_sky so that the sun reflects off the sea.
Physical_sky -> Background
Hide the Cloud object for the time being. We will focus on the Earth shader first.
'Earth Color' map -> base_color of Earth standard_surface shader
Now we want to add a specular map to determine where the sea is reflective and where the land has no specularity.
Land/sea shininess determined by 'Earth Mask' texture connected to specularity of Earth shader
The Earth's surface is looking a little bit flat. We can add some elevation to the surface using the displacement map - 'Earth Elevation'.
Create a Bitmap and open the texture Earth Elevation. To see fine detail in the displacement we will need to add some subdivisions to the Earth geometry.
Select the Earth geometry and add an Arnold Properties modifier to it. Connect the bitmap to the Displacement Map. Under the Arnold Subdivision tab, change the Type to catclark and increase the subdivision_iterations to 4.
Earth Displacement settings
![]() |
![]() |
Earth terrain is being displaced using 'Earth Elevation' texture
The final shader network for the Earth surface should look like the following image:
Final Earth shader network
The clouds shader is a little bit simpler to setup. We will use the clouds image and connect it to the emission, opacity, and displacement of a standard_surface shader.
Displacement, opacity, and emission of clouds driven by Clouds texture map
Finally, we will create some atmosphere, visible on the horizon, using a volume.
Create a sphere. Scale it so that it covers the Earth object.
Increase its step_size to 0.1 in the Arnold attributes.
Create a standard_volume shader and assign it to the sphere. The sphere should now render as a volume.
Change the emission_mode to density and the emission_color to a bright sky blue (horizon color).
Atmosphere rendered as a volume
That concludes this tutorial on how to realistically shade a globe. Finally, why not try keyframing the rotation of the cloud and Earth to create a fake time-lapse effect or animate an astronaut plummeting to their death?