123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- :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.
|