github_url: | hide |
---|
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.
The Sky
class uses a :ref:`Material<class_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 :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>`.
- :ref:`ProcessMode<enum_Sky_ProcessMode>` process_mode
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.
- :ref:`RadianceSize<enum_Sky_RadianceSize>` radiance_size
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.
- :ref:`Material<class_Material>` sky_material
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.