diff options
author | Juan Linietsky <reduzio@gmail.com> | 2020-04-07 22:51:52 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2020-04-08 11:19:43 -0300 |
commit | 4ffc0d6b3f15bc1235c94932bf8e462dbaae9426 (patch) | |
tree | 3b31ba1d1a26159b56219fe8eb49453a74a41a41 /servers/rendering_server.h | |
parent | b2f79cac9a4b69a24ccf5f2bfeaeb5b38b7db369 (diff) | |
download | redot-engine-4ffc0d6b3f15bc1235c94932bf8e462dbaae9426.tar.gz |
Refactored shadowmapping.
- Made shadow bias size independent, so it will remain when changing light or camera size.
- Implemented normal offset bias, which greatly enhances quality.
- Added transmission to subsurface scattering
- Reimplemented shadow filter modes
Closes #17260
Diffstat (limited to 'servers/rendering_server.h')
-rw-r--r-- | servers/rendering_server.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/servers/rendering_server.h b/servers/rendering_server.h index ac8e92be59..ddae78cb1f 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -385,7 +385,6 @@ public: LIGHT_PARAM_ATTENUATION, LIGHT_PARAM_SPOT_ANGLE, LIGHT_PARAM_SPOT_ATTENUATION, - LIGHT_PARAM_CONTACT_SHADOW_SIZE, LIGHT_PARAM_SHADOW_MAX_DISTANCE, LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET, LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET, @@ -393,7 +392,8 @@ public: LIGHT_PARAM_SHADOW_FADE_START, LIGHT_PARAM_SHADOW_NORMAL_BIAS, LIGHT_PARAM_SHADOW_BIAS, - LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE, + LIGHT_PARAM_SHADOW_PANCAKE_SIZE, + LIGHT_PARAM_TRANSMITTANCE_BIAS, LIGHT_PARAM_MAX }; @@ -666,6 +666,7 @@ public: VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE, VIEWPORT_DEBUG_DRAW_SSAO, VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER, + VIEWPORT_DEBUG_DRAW_PSSM_SPLITS, }; @@ -816,6 +817,15 @@ public: virtual void camera_effects_set_dof_blur(RID p_camera_effects, bool p_far_enable, float p_far_distance, float p_far_transition, bool p_near_enable, float p_near_distance, float p_near_transition, float p_amount) = 0; virtual void camera_effects_set_custom_exposure(RID p_camera_effects, bool p_enable, float p_exposure) = 0; + enum ShadowFilter { + SHADOW_FILTER_NONE, + SHADOW_FILTER_PCF5, + SHADOW_FILTER_PCF13, + SHADOW_FILTER_MAX + }; + + virtual void shadow_filter_set(ShadowFilter p_filter) = 0; + /* SCENARIO API */ virtual RID scenario_create() = 0; |