Inherits: Resource < Reference < Object

Background that uses a Material to draw a sky.


The Sky class uses a Material to draw the background and update the reflection/radiance cubemaps.


enum RadianceSize:

  • RADIANCE_SIZE_32 = 0 --- Radiance texture size is 32×32 pixels.
  • RADIANCE_SIZE_64 = 1 --- Radiance texture size is 64×64 pixels.
  • RADIANCE_SIZE_128 = 2 --- Radiance texture size is 128×128 pixels.
  • RADIANCE_SIZE_256 = 3 --- Radiance texture size is 256×256 pixels.
  • RADIANCE_SIZE_512 = 4 --- Radiance texture size is 512×512 pixels.
  • RADIANCE_SIZE_1024 = 5 --- Radiance texture size is 1024×1024 pixels.
  • RADIANCE_SIZE_2048 = 6 --- Radiance texture size is 2048×2048 pixels.
  • RADIANCE_SIZE_MAX = 7 --- Represents the size of the RadianceSize enum.

enum ProcessMode:

  • PROCESS_MODE_QUALITY = 0 --- Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than PROCESS_MODE_REALTIME but takes much longer to generate. This should not be used if you plan on changing the sky at runtime.
  • PROCESS_MODE_REALTIME = 1 --- Uses the fast filtering algorithm to process the radiance map. In general this results in lower quality, but substantially faster run times.

Note: The fast filtering algorithm is limited to 256x256 cubemaps, so radiance_size must be set to RADIANCE_SIZE_256.

Property Descriptions

Default 0
Setter set_process_mode(value)
Getter get_process_mode()

Sets the method for generating the radiance map from the sky. The radiance map is a cubemap with increasingly blurry versions of the sky corresponding to different levels of roughness. Radiance maps can be expensive to calculate. See ProcessMode for options.

Default 3
Setter set_radiance_size(value)
Getter get_radiance_size()

The Sky's radiance map size. The higher the radiance map size, the more detailed the lighting from the Sky will be.

See RadianceSize constants for values.

Note: Some hardware will have trouble with higher radiance sizes, especially RADIANCE_SIZE_512 and above. Only use such high values on high-end hardware.

Setter set_material(value)
Getter get_material()

Material used to draw the background. Can be PanoramaSkyMaterial, ProceduralSkyMaterial, PhysicalSkyMaterial, or even a ShaderMaterial if you want to use your own custom shader.