Files
godot-docs/classes/class_sky.rst
T

138 lines
5.3 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:github_url: hide
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Sky.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_Sky:
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_Sky_RadianceSize:
.. _class_Sky_constant_RADIANCE_SIZE_32:
.. _class_Sky_constant_RADIANCE_SIZE_64:
.. _class_Sky_constant_RADIANCE_SIZE_128:
.. _class_Sky_constant_RADIANCE_SIZE_256:
.. _class_Sky_constant_RADIANCE_SIZE_512:
.. _class_Sky_constant_RADIANCE_SIZE_1024:
.. _class_Sky_constant_RADIANCE_SIZE_2048:
.. _class_Sky_constant_RADIANCE_SIZE_MAX:
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_Sky_ProcessMode:
.. _class_Sky_constant_PROCESS_MODE_QUALITY:
.. _class_Sky_constant_PROCESS_MODE_REALTIME:
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
---------------------
.. _class_Sky_property_process_mode:
- :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.
----
.. _class_Sky_property_radiance_size:
- :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.
----
.. _class_Sky_property_sky_material:
- :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.