virtualx-engine/doc/classes/Sky.xml

60 lines
3.3 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 02:03:48 +01:00
<class name="Sky" inherits="Resource" version="4.0">
<brief_description>
2020-03-20 01:32:19 +01:00
Background that uses a [Material] to draw a sky.
</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.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
<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.
</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">
The [Sky]'s radiance map size. The higher the radiance map size, the more detailed the lighting from the [Sky] will be.
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.
</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>
</members>
<constants>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_32" value="0" enum="RadianceSize">
Radiance texture size is 32×32 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_64" value="1" enum="RadianceSize">
Radiance texture size is 64×64 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_128" value="2" enum="RadianceSize">
Radiance texture size is 128×128 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_256" value="3" enum="RadianceSize">
Radiance texture size is 256×256 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_512" value="4" enum="RadianceSize">
Radiance texture size is 512×512 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_1024" value="5" enum="RadianceSize">
Radiance texture size is 1024×1024 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_2048" value="6" enum="RadianceSize">
Radiance texture size is 2048×2048 pixels.
</constant>
2017-11-24 23:16:30 +01:00
<constant name="RADIANCE_SIZE_MAX" value="7" enum="RadianceSize">
Represents the size of the [enum RadianceSize] enum.
</constant>
<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.
</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].
</constant>
</constants>
</class>