Skip to content

Latest commit

 

History

History
137 lines (83 loc) · 5.35 KB

class_sky.rst

File metadata and controls

137 lines (83 loc) · 5.35 KB
github_url:hide

Sky

Inherits: :ref:`Resource<class_Resource>` < :ref:`Reference<class_Reference>` < :ref:`Object<class_Object>`

Background that uses a :ref:`Material<class_Material>` to draw a sky.

Description

The Sky class uses a :ref:`Material<class_Material>` to draw the background and update the reflection/radiance cubemaps.

Properties

:ref:`ProcessMode<enum_Sky_ProcessMode>` :ref:`process_mode<class_Sky_property_process_mode>` 0
:ref:`RadianceSize<enum_Sky_RadianceSize>` :ref:`radiance_size<class_Sky_property_radiance_size>` 3
:ref:`Material<class_Material>` :ref:`sky_material<class_Sky_property_sky_material>`  

Enumerations

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 :ref:`RadianceSize<enum_Sky_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 :ref:`PROCESS_MODE_REALTIME<class_Sky_constant_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 :ref:`radiance_size<class_Sky_property_radiance_size>` must be set to :ref:`RADIANCE_SIZE_256<class_Sky_constant_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 :ref:`ProcessMode<enum_Sky_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 :ref:`RadianceSize<enum_Sky_RadianceSize>` constants for values.

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


Setter set_material(value)
Getter get_material()

:ref:`Material<class_Material>` used to draw the background. Can be :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`, :ref:`ProceduralSkyMaterial<class_ProceduralSkyMaterial>`, :ref:`PhysicalSkyMaterial<class_PhysicalSkyMaterial>`, or even a :ref:`ShaderMaterial<class_ShaderMaterial>` if you want to use your own custom shader.