2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 02:03:48 +01:00
<class name= "Sky" inherits= "Resource" version= "4.0" >
2017-09-12 22:42:36 +02:00
<brief_description >
2020-03-20 01:32:19 +01:00
Background that uses a [Material] to draw a sky.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2020-03-20 01:32:19 +01:00
The [Sky] class uses a [Material] to draw the background and update the reflection/radiance cubemaps.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
</methods>
<members >
2020-02-12 09:59:06 +01:00
<member name= "process_mode" type= "int" setter= "set_process_mode" getter= "get_process_mode" enum= "Sky.ProcessMode" default= "0" >
2020-02-21 00:27:34 +01:00
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 [enum ProcessMode] for options.
2020-02-12 09:59:06 +01:00
</member>
2020-03-20 01:32:19 +01:00
<member name= "radiance_size" type= "int" setter= "set_radiance_size" getter= "get_radiance_size" enum= "Sky.RadianceSize" default= "3" >
2019-06-22 01:04:47 +02:00
The [Sky]'s radiance map size. The higher the radiance map size, the more detailed the lighting from the [Sky] will be.
2019-06-29 15:24:23 +02:00
See [enum RadianceSize] constants for values.
2020-01-25 20:50:57 +01:00
[b]Note:[/b] Some hardware will have trouble with higher radiance sizes, especially [constant RADIANCE_SIZE_512] and above. Only use such high values on high-end hardware.
2017-09-12 22:42:36 +02:00
</member>
2020-03-20 01:32:19 +01:00
<member name= "sky_material" type= "Material" setter= "set_material" 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.
</member>
2017-09-12 22:42:36 +02:00
</members>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_32" value= "0" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 32× 32 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_64" value= "1" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 64× 64 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_128" value= "2" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 128× 128 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_256" value= "3" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 256× 256 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_512" value= "4" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 512× 512 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_1024" value= "5" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 1024× 1024 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_2048" value= "6" enum= "RadianceSize" >
2019-06-22 01:04:47 +02:00
Radiance texture size is 2048× 2048 pixels.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "RADIANCE_SIZE_MAX" value= "7" enum= "RadianceSize" >
2019-06-27 11:10:53 +02:00
Represents the size of the [enum RadianceSize] enum.
2017-09-12 22:42:36 +02:00
</constant>
2020-02-12 09:59:06 +01:00
<constant name= "PROCESS_MODE_QUALITY" value= "0" enum= "ProcessMode" >
2020-02-21 00:27:34 +01:00
Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than [constant PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be used if you plan on changing the sky at runtime.
2020-02-12 09:59:06 +01:00
</constant>
<constant name= "PROCESS_MODE_REALTIME" value= "1" enum= "ProcessMode" >
2020-02-21 00:27:34 +01:00
Uses the fast filtering algorithm to process the radiance map. In general this results in lower quality, but substantially faster run times.
2020-03-20 01:32:19 +01:00
[b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so [member radiance_size] must be set to [constant RADIANCE_SIZE_256].
2020-02-12 09:59:06 +01:00
</constant>
2017-09-12 22:42:36 +02:00
</constants>
</class>