7adf4cc9b5
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
60 lines
3.8 KiB
XML
60 lines
3.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="VoxelGI" inherits="VisualInstance3D" version="4.0">
|
|
<brief_description>
|
|
Real-time global illumination (GI) probe.
|
|
</brief_description>
|
|
<description>
|
|
[VoxelGI]s are used to provide high-quality real-time indirect light to scenes. They precompute the effect of objects that emit light and the effect of static geometry to simulate the behavior of complex light in real-time. [VoxelGI]s need to be baked before using, however, once baked, dynamic objects will receive light from them. Further, lights can be fully dynamic or baked.
|
|
Having [VoxelGI]s in a scene can be expensive, the quality of the probe can be turned down in exchange for better performance in the [ProjectSettings] using [member ProjectSettings.rendering/global_illumination/voxel_gi/quality].
|
|
[b]Note:[/b] Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh.
|
|
</description>
|
|
<tutorials>
|
|
<link title="GI probes">https://docs.godotengine.org/en/latest/tutorials/3d/voxel_gi.html</link>
|
|
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="bake">
|
|
<return type="void" />
|
|
<argument index="0" name="from_node" type="Node" default="null" />
|
|
<argument index="1" name="create_visual_debug" type="bool" default="false" />
|
|
<description>
|
|
Bakes the effect from all [GeometryInstance3D]s marked with [constant GeometryInstance3D.GI_MODE_BAKED] and [Light3D]s marked with either [constant Light3D.BAKE_DYNAMIC] or [constant Light3D.BAKE_STATIC]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [VoxelGI]'s data and debug any issues that may be occurring.
|
|
</description>
|
|
</method>
|
|
<method name="debug_bake">
|
|
<return type="void" />
|
|
<description>
|
|
Calls [method bake] with [code]create_visual_debug[/code] enabled.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="data" type="VoxelGIData" setter="set_probe_data" getter="get_probe_data">
|
|
The [VoxelGIData] resource that holds the data for this [VoxelGI].
|
|
</member>
|
|
<member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3(10, 10, 10)">
|
|
The size of the area covered by the [VoxelGI]. If you make the extents larger without increasing the subdivisions with [member subdiv], the size of each cell will increase and result in lower detailed lighting.
|
|
</member>
|
|
<member name="subdiv" type="int" setter="set_subdiv" getter="get_subdiv" enum="VoxelGI.Subdiv" default="1">
|
|
Number of times to subdivide the grid that the [VoxelGI] operates on. A higher number results in finer detail and thus higher visual quality, while lower numbers result in better performance.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
<constant name="SUBDIV_64" value="0" enum="Subdiv">
|
|
Use 64 subdivisions. This is the lowest quality setting, but the fastest. Use it if you can, but especially use it on lower-end hardware.
|
|
</constant>
|
|
<constant name="SUBDIV_128" value="1" enum="Subdiv">
|
|
Use 128 subdivisions. This is the default quality setting.
|
|
</constant>
|
|
<constant name="SUBDIV_256" value="2" enum="Subdiv">
|
|
Use 256 subdivisions.
|
|
</constant>
|
|
<constant name="SUBDIV_512" value="3" enum="Subdiv">
|
|
Use 512 subdivisions. This is the highest quality setting, but the slowest. On lower-end hardware this could cause the GPU to stall.
|
|
</constant>
|
|
<constant name="SUBDIV_MAX" value="4" enum="Subdiv">
|
|
Represents the size of the [enum Subdiv] enum.
|
|
</constant>
|
|
</constants>
|
|
</class>
|