diff options
author | reduz <reduzio@gmail.com> | 2021-07-19 16:41:55 -0300 |
---|---|---|
committer | reduz <reduzio@gmail.com> | 2021-07-19 21:51:29 -0300 |
commit | 9293bc3935c3b87051003dcb8f6902d6f1e9fdbe (patch) | |
tree | c4f920a780e2590a4f888dfe9a083dea74c0afc3 /doc | |
parent | 855c7c7414a2f29cd420e8dd654a4630226bcd50 (diff) |
Implement more rendering options as specialization constants
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.
These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/classes/ProjectSettings.xml | 4 | ||||
-rw-r--r-- | doc/classes/RenderingServer.xml | 36 |
2 files changed, 40 insertions, 0 deletions
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index fbd257cdba..c3ef9f2425 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -1569,12 +1569,16 @@ <member name="rendering/shadows/shadows/soft_shadow_quality.mobile" type="int" setter="" getter="" default="0"> Lower-end override for [member rendering/shadows/shadows/soft_shadow_quality] on mobile devices, due to performance concerns or driver support. </member> + <member name="rendering/textures/decals/filter" type="int" setter="" getter="" default="3"> + </member> <member name="rendering/textures/default_filters/anisotropic_filtering_level" type="int" setter="" getter="" default="2"> Sets the maximum number of samples to take when using anisotropic filtering on textures (as a power of two). A higher sample count will result in sharper textures at oblique angles, but is more expensive to compute. A value of [code]0[/code] forcibly disables anisotropic filtering, even on materials where it is enabled. </member> <member name="rendering/textures/default_filters/use_nearest_mipmap_filter" type="bool" setter="" getter="" default="false"> If [code]true[/code], uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If [code]false[/code], linear mipmap filtering (also called "trilinear filtering") is used. </member> + <member name="rendering/textures/light_projectors/filter" type="int" setter="" getter="" default="3"> + </member> <member name="rendering/textures/lossless_compression/force_png" type="bool" setter="" getter="" default="false"> If [code]true[/code], the texture importer will import lossless textures using the PNG format. Otherwise, it will default to using WebP. </member> diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index 6b45653bf2..31ced67ac4 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -1209,6 +1209,14 @@ <description> </description> </method> + <method name="decals_set_filter"> + <return type="void"> + </return> + <argument index="0" name="filter" type="int" enum="RenderingServer.DecalFilter"> + </argument> + <description> + </description> + </method> <method name="directional_light_create"> <return type="RID"> </return> @@ -2153,6 +2161,14 @@ Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to [member OmniLight3D.omni_shadow_mode]. </description> </method> + <method name="light_projectors_set_filter"> + <return type="void"> + </return> + <argument index="0" name="filter" type="int" enum="RenderingServer.LightProjectorFilter"> + </argument> + <description> + </description> + </method> <method name="light_set_bake_mode"> <return type="void"> </return> @@ -4865,6 +4881,16 @@ <constant name="MULTIMESH_TRANSFORM_3D" value="1" enum="MultimeshTransformFormat"> Use [Transform3D] to store MultiMesh transform. </constant> + <constant name="LIGHT_PROJECTOR_FILTER_NEAREST" value="0" enum="LightProjectorFilter"> + </constant> + <constant name="LIGHT_PROJECTOR_FILTER_NEAREST_MIPMAPS" value="1" enum="LightProjectorFilter"> + </constant> + <constant name="LIGHT_PROJECTOR_FILTER_LINEAR" value="2" enum="LightProjectorFilter"> + </constant> + <constant name="LIGHT_PROJECTOR_FILTER_LINEAR_MIPMAPS" value="3" enum="LightProjectorFilter"> + </constant> + <constant name="LIGHT_PROJECTOR_FILTER_LINEAR_MIPMAPS_ANISOTROPIC" value="4" enum="LightProjectorFilter"> + </constant> <constant name="LIGHT_DIRECTIONAL" value="0" enum="LightType"> Is a directional (sun) light. </constant> @@ -4986,6 +5012,16 @@ </constant> <constant name="DECAL_TEXTURE_MAX" value="4" enum="DecalTexture"> </constant> + <constant name="DECAL_FILTER_NEAREST" value="0" enum="DecalFilter"> + </constant> + <constant name="DECAL_FILTER_NEAREST_MIPMAPS" value="1" enum="DecalFilter"> + </constant> + <constant name="DECAL_FILTER_LINEAR" value="2" enum="DecalFilter"> + </constant> + <constant name="DECAL_FILTER_LINEAR_MIPMAPS" value="3" enum="DecalFilter"> + </constant> + <constant name="DECAL_FILTER_LINEAR_MIPMAPS_ANISOTROPIC" value="4" enum="DecalFilter"> + </constant> <constant name="VOXEL_GI_QUALITY_LOW" value="0" enum="VoxelGIQuality"> </constant> <constant name="VOXEL_GI_QUALITY_HIGH" value="1" enum="VoxelGIQuality"> |