From 366ee4677487223015f1f7f92bf955452a5cf83f Mon Sep 17 00:00:00 2001 From: clayjohn Date: Mon, 14 Sep 2020 23:47:07 -0700 Subject: Replace SAO implementation with MSSAO --- doc/classes/Environment.xml | 30 ++++++------------------------ doc/classes/ProjectSettings.xml | 21 +++++++++++++++------ doc/classes/RenderingServer.xml | 37 ++++++++++++------------------------- 3 files changed, 33 insertions(+), 55 deletions(-) (limited to 'doc/classes') diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 065bd91765..1fe5bca66c 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -215,26 +215,20 @@ The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than [code]0[/code] will make the SSAO effect visible in areas darkened by AO textures. - - The screen-space ambient occlusion bias. This should be kept high enough to prevent "smooth" curves from being affected by ambient occlusion. - - - The screen-space ambient occlusion blur quality. See [enum SSAOBlur] for possible values. - - - The screen-space ambient occlusion edge sharpness. - If [code]true[/code], the screen-space ambient occlusion effect is enabled. This darkens objects' corners and cavities to simulate ambient light not reaching the entire object as in real life. This works well for small, dynamic objects, but baked lighting or ambient occlusion textures will do a better job at displaying ambient occlusion on large static objects. This is a costly effect and should be disabled first when running into performance issues. - The primary screen-space ambient occlusion intensity. See also [member ssao_radius]. + The strength of the SSAO effect. Higher values result in darker SSAO while lower values soften the SSAO. + + + The number of SSAO scales to use. A higher value results in SSAO over a greater distance at the cost of more performance. The screen-space ambient occlusion intensity in direct light. In real life, ambient occlusion only applies to indirect light, which means its effects can't be seen in direct light. Values higher than [code]0[/code] will make the SSAO effect visible in direct light. - - The primary screen-space ambient occlusion radius. + + The distance over which the SSAO effect fades. A larger value spreads the occlusion check over a greater distance which can be useful to get a stronger SSAO effect. However, if it is too high, you will start to notice a dark "halo" around objects. It is best to keep this value as low as possible. The default exposure used for tonemapping. @@ -332,18 +326,6 @@ Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect. - - No blur for the screen-space ambient occlusion effect (fastest). - - - 1×1 blur for the screen-space ambient occlusion effect. - - - 2×2 blur for the screen-space ambient occlusion effect. - - - 3×3 blur for the screen-space ambient occlusion effect. Increases the radius of the blur for a smoother look, but can result in checkerboard-like artifacts. - diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 91998ead34..9ed89204e1 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -1147,12 +1147,6 @@ Lower-end override for [member rendering/quality/shadows/soft_shadow_quality] on mobile devices, due to performance concerns or driver support. - - If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details. - - - Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance. - Scales the depth over which the subsurface scattering effect is applied. A high value may allow light to scatter into a part of the mesh or another mesh that is close in screen space but far in depth. @@ -1172,6 +1166,21 @@ + + The strength of the blur effect when calculating SSAO. A higher value blurs more but may remove high-frequency details. + + + If [code]true[/code], SSAO will sample the entire sphere during rendering instead of just a checkerboard pattern. This results in much smoother SSAO at the cost of performance. The exact performance cost increases as [member rendering/ssao/quality] increases. + + + The amount of noise reduction to use. A high value smooths out noise, but may reduce fine detail. + + + Sets the quality of the screen-space ambient occlusion effect. Each quality level above [constant RenderingServer.ENV_SSAO_QUALITY_VERY_LOW] adds an extra level of higher resolution SSAO. With [constant RenderingServer.ENV_SSAO_QUALITY_ULTRA] and [member Environment.ssao_levels] at 4, there will be a total of 8 levels of SSAO blended together. This substantially improves the detail of the SSAO. + + + Increases the depth range over which samples can be blurred. This can result in objects in the foreground casting SSAO on objects that are far behind them, but can also help smooth out the lower resolution levels. + Thread model for rendering. Rendering on a thread can vastly improve performance, but synchronizing to the main thread can cause a bit more jitter. diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index 456022a626..07f6d4a1a4 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -779,20 +779,16 @@ - + - + - - - - @@ -3487,29 +3483,20 @@ - - Disables the blur set for SSAO. Will make SSAO look noisier. - - - Perform a 1x1 blur on the SSAO output. - - - Performs a 2x2 blur on the SSAO output. - - - Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO. + + Does not mix any additional high quality SSAO levels. - - Lowest quality of screen space ambient occlusion. + + Mixes a high quality level with the 4th SSAO level if [member Environment.ssao_levels] is set to 4. - - Medium quality screen space ambient occlusion. + + Mixes high quality levels with the 3rd and 4th SSAO levels if [member Environment.ssao_levels] is 3 or 4. - - High quality screen space ambient occlusion. + + Mixes high quality levels with the 2nd, 3rd, and 4th SSAO levels if [member Environment.ssao_levels] is 2 or greater. - - Highest quality screen space ambient occlusion. + + Mixes high quality levels with all SSAO levels. -- cgit v1.2.3