Customising Landscapes

From Stellarium Wiki
Revision as of 17:25, 20 October 2011 by Gzotti (Talk | contribs)
Jump to: navigation, search

It is possible to create your own landscapes for Stellarium. There are three types of landscape:

  • Single Fish-eye Method Using a fish-eye panorama image.
  • Single Spherical Method Using a spherical panorama image.
  • Multiple Image Method (also called “old style” landscapes) Using a series of images split from a 360° “strip” panorama image + a ground image.

Each landscape has it's own sub-directory in <user directory>/landscapes or <installation directory>/landscapes. The name of the sub-directory is called the landscape ID. The sub-directory must contain a file called landscape.ini which describes the landscape type, texture filenames and other data. Texture files for a landscape should by put in the same directory as the landscape.ini file, although if they are not found there they will be searched for in the .../textures directory, allowing shared files for common textures such as the fog texture.

For example, the Moon landscape that is provided with Stellarium has the following files:


The landscsape.ini file must contain a section called [landscape], which contains the details necessary to render the landscape (which vary, depending on the type of the landscape).

There is also an optional [location] section which is used to tell Stellarium where the landscape is in the solar system. If the [location] section exists, Stellarium can automatically adjust the location of the observer to match the landscape.


Single Fish-eye Method

The Trees landscape that is provided with Stellarium is an example of the single fish-eye method, and provides a good illustration. The centre of the image is the spot directly above the observer (the zenith). The point below the observer (the nadir) becomes a circle that just touches the edges of the image. The remaining areas of the image (the rounded corners) are not used.

The image file should be saved in PNG format with alpha transparency. Wherever the image is transparent is where Stellarium will render the sky.

The landscape.ini file for a fish-eye type landscape looks like this (this example if for the Trees landscape which comes with Stellarium):

name = Trees
type = fisheye
maptex = trees_512.png
texturefov = 210
tesselate_rows = 20
tesselate_cols = 40


  • name is what appears in the landscape tab of the configuration window.
  • type identifies the method used for this landscape. “fisheye” in this case.
  • maptex is the name of the image file for this landscape.
  • texturefov is the field of view that the image covers in degrees.
  • tesselate_rows (optional, default=20) If straight edges in your landscape appear broken, try increasing.
  • tesselate_cols (optional, default=40) If straight edges in your landscape appear broken, try increasing.

Single Panorama Method

This method uses a more usual type of panorama - the kind which is produced directly from software such as autostitich. The panorama file should be copied into the <config root>/landscapes/<landscape_id> directory, and a landscape.ini file created. The Moon landscape which comes with Stellarium provides a good example of the contents of a landscape.ini file for a spherical type landscape:

name = Moon
type = spherical
maptex = apollo17.png


  • name is what appears in the landscape tab of the configuration window.
  • type identifies the method used for this landscape. “spherical” in this case.
  • maptex is the name of the image file for this landscape.

Note that the name of the section, in this case [moon] must be the landscape ID (i.e. the same as the name of the directory where the landscape.ini file exists).

Multiple Image Method

The multiple image method works by having a 360 panorama of the horizon split into a number of smaller “side textures”, and a separate “ground texture”. This has the advantage over the single image method that the detail level of the horizon can be increased further without ending up with a single very large image file. The ground texture can be a lower resolution than the panorama images. Memory usage may be more efficient because there are no unused texture parts like the corners of the texture file in the fish-eye method.


On the negative side, it is more difficult to create this type of landscape - merging the ground texture with the side textures can prove tricky. The contents of the landscape.ini file for this landscape type is also somewhat more complicated than for other landscape types. Here is the landscape.ini file which describes the Guereins landscape:

name = Guereins
type = old_style
nbsidetex = 8
tex0 = guereins4.png
tex1 = guereins5.png
tex2 = guereins6.png
tex3 = guereins7.png
tex4 = guereins8.png
tex5 = guereins1.png
tex6 = guereins2.png
tex7 = guereins3.png
nbside = 8
side0 = tex0:0:0.005:1:1
side1 = tex1:0:0.005:1:1
side2 = tex2:0:0.005:1:1
side3 = tex3:0:0.005:1:1
side4 = tex4:0:0.005:1:1
side5 = tex5:0:0.005:1:1
side6 = tex6:0:0.005:1:1
side7 = tex7:0:0.005:1:1
groundtex = guereinsb.png
ground = groundtex:0:0:1:1
fogtex = fog.png
fog = fogtex:0:0:1:1
nb_decor_repeat = 1
decor_alt_angle = 40
decor_angle_shift = -22
decor_angle_rotatez = 0
ground_angle_shift = -22
ground_angle_rotatez = 45
fog_alt_angle = 20
fog_angle_shift = -3
draw_ground_first = 1


  • name is the name that will appear in the landscape tab of the configuration window for this landscape
  • type should be “old_style” for the multiple image method.
  • nbsidetex is the number of side textures for the landscape.
  • tex0 ... tex<nbsidetex-1> are the side texture file names. These should exist in the .../textures/landscapes directory in PNG format.
  • nbside is the number of side textures
  • side0 ... side<nbside-1> are the descriptions of how the side textures should be arranged in the program. Each description contains five fields separated by colon characters (:). The first field is the ID of the texture (e.g. tex0), the remaining fields are the coordinates used to place the texture in the scene.
  • groundtex is the name of the ground texture file.
  • ground is the description of the projection of the ground texture in the scene.
  • fogtex is the name of the texture file for fog in this landscape.
  • fog is the description of the projection of the fog texture in the scene.
  • nb_decor_repeat is the number of times to repeat the side textures in the 360 panorama.
  • decor_alt_angle is the vertical angular size of the textures (i.e. how high they go into the sky).
  • decor_angle_shift vertical angular offset of the scenery textures, at which height are the side textures placed.
  • decor_angle_rotatez angular rotation of the scenery around the vertical axis. This is handy for rotating the landscape so North is in the correct direction.
  • ground_angle_shift vertical angular offset of the ground texture, at which height the ground texture is placed.
  • ground_angle_rotatez angular rotation of the ground texture around the vertical axis. When the sides are rotated, the ground texture may need to me rotated as well to match up with the sides.
  • fog_alt_angle vertical angular size of the fog texture - how fog looks.
  • fog_angle_shift vertical angular offset of the fog texture - at what height is it drawn.
  • draw_ground_first if 1 the ground is drawn in front of the scenery, i.e. the side textures will overlap over the ground texture.
  • calibrated (optional, not used in this file). New since 0.10.6: Only if true, decor_alt_angle etc. really work as documented above. The (buggy) old code was left to work with the landscapes already existing.

Note that the name of the section, in this case [guereins] must be the landscape ID (i.e. the same as the name of the directory where the landscape.ini file exists).

A step-by-step account of the creation of a custom landscape has been contributed by Barry Gerdes. See Appendix Creating a Personalised Landscape for Stellarium.

landscape.ini [location] section

An example location section:

planet = Earth
latitude = +48d10'9.707"
longitude = +11d36'32.508"
altitude = 83


  • planet Is the English name of the solar system body for the landscape.
  • latitude Is the latitude of site of the landscape in degrees, minutes and seconds. Positive values represent North of the equator, negative values South of the equator.
  • longitude Is the longitude of site of the landscape. Positive values represent East of the Greenwich Meridian on Earth (or equivalent on other bodies), Negative values represent Western longitude.
  • altitude Is the altitude of the site of the landscape in meters.
  • country (optional) Name of the country the location is in
  • state (optional) Name of the state the location is in
  • name (optional) Name of the location

Since 0.11, there are a few more optional parameters. If they are missing, the parameters do not change to defaults.

  • light_pollution (optional) Light pollution of the site, given on the Bortle Scale (1: none ... 9: metropolitan)
  • atmospheric_extinction_coefficient (optional) Extinction coefficient (mag/airmass) for this site.
  • atmospheric_temperature (optional) Surface air temperature (Degrees Celsius). Used for refraction.
  • atmospheric_pressure (optional) Surface air pressure (mbar). Used for refraction.
  • display_fog (optional) You may want to preconfigure setting false for a landscape on the Moon.

« Advanced Use Contents Adding Nebulae Images »

Personal tools
in this wiki
other languages