[Bf-blender-cvs] [0edd48c9043] tmp-eevee-shadowmap-refactor: Eevee: Remove ESM and VSM code

Clément Foucault noreply at git.blender.org
Mon Sep 2 16:53:17 CEST 2019


Commit: 0edd48c9043f4f79775b25f7ba93fddd89d75fc9
Author: Clément Foucault
Date:   Wed Aug 28 01:57:03 2019 +0200
Branches: tmp-eevee-shadowmap-refactor
https://developer.blender.org/rB0edd48c9043f4f79775b25f7ba93fddd89d75fc9

Eevee: Remove ESM and VSM code

===================================================================

M	release/scripts/startup/bl_ui/properties_data_light.py
M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/blenkernel/intern/scene.c
M	source/blender/draw/CMakeLists.txt
M	source/blender/draw/engines/eevee/eevee_lights.c
M	source/blender/draw/engines/eevee/eevee_materials.c
M	source/blender/draw/engines/eevee/eevee_private.h
M	source/blender/draw/engines/eevee/eevee_subsurface.c
M	source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
D	source/blender/draw/engines/eevee/shaders/shadow_copy_frag.glsl
D	source/blender/draw/engines/eevee/shaders/shadow_process_geom.glsl
D	source/blender/draw/engines/eevee/shaders/shadow_process_vert.glsl
D	source/blender/draw/engines/eevee/shaders/shadow_store_frag.glsl
M	source/blender/makesdna/DNA_light_types.h
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_light.c
M	source/blender/makesrna/intern/rna_scene.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_data_light.py b/release/scripts/startup/bl_ui/properties_data_light.py
index 376b7561739..19775d80636 100644
--- a/release/scripts/startup/bl_ui/properties_data_light.py
+++ b/release/scripts/startup/bl_ui/properties_data_light.py
@@ -180,12 +180,7 @@ class DATA_PT_EEVEE_shadow(DataButtonsPanel, Panel):
             sub.prop(light, "shadow_buffer_clip_end", text="End")
 
         col.prop(light, "shadow_buffer_soft", text="Softness")
-
-        col.separator()
-
         col.prop(light, "shadow_buffer_bias", text="Bias")
-        col.prop(light, "shadow_buffer_exp", text="Exponent")
-        col.prop(light, "shadow_buffer_bleed_bias", text="Bleed Bias")
 
 
 class DATA_PT_EEVEE_shadow_cascaded_shadow_map(DataButtonsPanel, Panel):
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index fa48cf873aa..3481f9522f8 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -365,7 +365,6 @@ class RENDER_PT_eevee_shadows(RenderButtonsPanel, Panel):
         props = scene.eevee
 
         col = layout.column()
-        col.prop(props, "shadow_method")
         col.prop(props, "shadow_cube_size", text="Cube Size")
         col.prop(props, "shadow_cascade_size", text="Cascade Size")
         col.prop(props, "use_shadow_high_bitdepth")
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index ef49c958d37..9741690c7d9 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -958,7 +958,6 @@ void BKE_scene_init(Scene *sce)
   sce->eevee.motion_blur_samples = 8;
   sce->eevee.motion_blur_shutter = 0.5f;
 
-  sce->eevee.shadow_method = SHADOW_ESM;
   sce->eevee.shadow_cube_size = 512;
   sce->eevee.shadow_cascade_size = 1024;
 
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index fe3aaf8e503..6402fe457b4 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -210,10 +210,6 @@ data_to_c_simple(engines/eevee/shaders/prepass_frag.glsl SRC)
 data_to_c_simple(engines/eevee/shaders/prepass_vert.glsl SRC)
 data_to_c_simple(engines/eevee/shaders/shadow_frag.glsl SRC)
 data_to_c_simple(engines/eevee/shaders/shadow_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_process_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_process_geom.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_store_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_copy_frag.glsl SRC)
 data_to_c_simple(engines/eevee/shaders/bsdf_lut_frag.glsl SRC)
 data_to_c_simple(engines/eevee/shaders/btdf_lut_frag.glsl SRC)
 data_to_c_simple(engines/eevee/shaders/bsdf_common_lib.glsl SRC)
diff --git a/source/blender/draw/engines/eevee/eevee_lights.c b/source/blender/draw/engines/eevee/eevee_lights.c
index 4cebddb7104..14385f04949 100644
--- a/source/blender/draw/engines/eevee/eevee_lights.c
+++ b/source/blender/draw/engines/eevee/eevee_lights.c
@@ -136,21 +136,20 @@ void EEVEE_lights_init(EEVEE_ViewLayerData *sldata)
        sldata->lights->shcaster_frontbuffer,
        sldata->lights->shcaster_backbuffer);
 
-  const int sh_method = scene_eval->eevee.shadow_method;
   int sh_cube_size = scene_eval->eevee.shadow_cube_size;
   int sh_cascade_size = scene_eval->eevee.shadow_cascade_size;
   const bool sh_high_bitdepth = (scene_eval->eevee.flag & SCE_EEVEE_SHADOW_HIGH_BITDEPTH) != 0;
   sldata->lights->soft_shadows = (scene_eval->eevee.flag & SCE_EEVEE_SHADOW_SOFT) != 0;
 
   EEVEE_LightsInfo *linfo = sldata->lights;
-  if ((linfo->shadow_cube_size != sh_cube_size) || (linfo->shadow_method != sh_method) ||
+  if ((linfo->shadow_cube_size != sh_cube_size) ||
       (linfo->shadow_high_bitdepth != sh_high_bitdepth)) {
     BLI_assert((sh_cube_size > 0) && (sh_cube_size <= 4096));
     DRW_TEXTURE_FREE_SAFE(sldata->shadow_cube_pool);
     CLAMP(sh_cube_size, 1, 4096);
   }
 
-  if ((linfo->shadow_cascade_size != sh_cascade_size) || (linfo->shadow_method != sh_method) ||
+  if ((linfo->shadow_cascade_size != sh_cascade_size) ||
       (linfo->shadow_high_bitdepth != sh_high_bitdepth)) {
     BLI_assert((sh_cascade_size > 0) && (sh_cascade_size <= 4096));
     DRW_TEXTURE_FREE_SAFE(sldata->shadow_cascade_pool);
@@ -158,7 +157,6 @@ void EEVEE_lights_init(EEVEE_ViewLayerData *sldata)
   }
 
   linfo->shadow_high_bitdepth = sh_high_bitdepth;
-  linfo->shadow_method = sh_method;
   linfo->shadow_cube_size = sh_cube_size;
   linfo->shadow_cascade_size = sh_cascade_size;
 }
@@ -693,7 +691,6 @@ static void eevee_shadow_cube_setup(Object *ob,
   ubo_data->bias = 0.05f * la->bias;
   ubo_data->near = la->clipsta;
   ubo_data->far = sqrt(1.0f / evli->invsqrdist);
-  ubo_data->exp = (linfo->shadow_method == SHADOW_VSM) ? la->bleedbias : la->bleedexp;
 
   evli->shadowid = (float)(sh_data->shadow_id);
   ubo_data->shadow_start = (float)(sh_data->layer_id);
@@ -992,7 +989,6 @@ static void eevee_shadow_cascade_setup(Object *ob,
   ubo_data->bias = 0.05f * la->bias;
   ubo_data->near = la->clipsta;
   ubo_data->far = la->clipend;
-  ubo_data->exp = (linfo->shadow_method == SHADOW_VSM) ? la->bleedbias : la->bleedexp;
 
   evli->shadowid = (float)(sh_data->shadow_id);
   ubo_data->shadow_start = (float)(sh_data->layer_id);
@@ -1189,7 +1185,6 @@ void EEVEE_draw_shadows(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata, DRWView
 
     srd->clip_near = la->clipsta;
     srd->clip_far = light_attenuation_radius_get(la, light_threshold);
-    srd->exponent = la->bleedexp;
 
     eevee_ensure_cube_views(
         srd->clip_near, srd->clip_far, cube_data->position, g_data->cube_views);
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index f6f9af28975..af9e2bc67f4 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -271,21 +271,6 @@ struct GPUTexture *EEVEE_materials_get_util_tex(void)
   return e_data.util_tex;
 }
 
-static int eevee_material_shadow_option(int shadow_method)
-{
-  switch (shadow_method) {
-    case SHADOW_ESM:
-      return VAR_MAT_ESM;
-    case SHADOW_VSM:
-      return VAR_MAT_VSM;
-    default:
-      BLI_assert(!"Incorrect Shadow Method");
-      break;
-  }
-
-  return 0;
-}
-
 static char *eevee_get_defines(int options)
 {
   char *str = NULL;
@@ -324,10 +309,7 @@ static char *eevee_get_defines(int options)
     BLI_dynstr_append(ds, "#define USE_TRANSLUCENCY\n");
   }
   if ((options & VAR_MAT_LOOKDEV) != 0) {
-    /* Auto config shadow method. Avoid more permutation. */
-    BLI_assert((options & (VAR_MAT_VSM | VAR_MAT_ESM)) == 0);
     BLI_dynstr_append(ds, "#define LOOKDEV\n");
-    BLI_dynstr_append(ds, "#define SHADOW_ESM\n");
   }
 
   str = BLI_dynstr_get_cstring(ds);
@@ -717,8 +699,7 @@ struct GPUMaterial *EEVEE_material_mesh_get(struct Scene *scene,
                                             EEVEE_Data *UNUSED(vedata),
                                             bool use_blend,
                                             bool use_refract,
-                                            bool use_translucency,
-                                            int shadow_method)
+                                            bool use_translucency)
 {
   const void *engine = &DRW_engine_viewport_eevee_type;
   int options = VAR_MAT_MESH;
@@ -727,8 +708,6 @@ struct GPUMaterial *EEVEE_material_mesh_get(struct Scene *scene,
   SET_FLAG_FROM_TEST(options, use_refract, VAR_MAT_REFRACT);
   SET_FLAG_FROM_TEST(options, use_translucency, VAR_MAT_TRANSLUC);
 
-  options |= eevee_material_shadow_option(shadow_method);
-
   GPUMaterial *mat = DRW_shader_find_from_material(ma, engine, options, true);
   if (mat) {
     return mat;
@@ -816,13 +795,11 @@ struct GPUMaterial *EEVEE_material_mesh_depth_get(struct Scene *scene,
   return mat;
 }
 
-struct GPUMaterial *EEVEE_material_hair_get(struct Scene *scene, Material *ma, int shadow_method)
+struct GPUMaterial *EEVEE_material_hair_get(struct Scene *scene, Material *ma)
 {
   const void *engine = &DRW_engine_viewport_eevee_type;
   int options = VAR_MAT_MESH | VAR_MAT_HAIR;
 
-  options |= eevee_material_shadow_option(shadow_method);
-
   GPUMaterial *mat = DRW_shader_find_from_material(ma, engine, options, true);
   if (mat) {
     return mat;
@@ -853,8 +830,7 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_create(EEVEE_ViewLaye
                                                                   DRWPass *pass,
                                                                   bool is_hair,
                                                                   bool use_blend,
-                                                                  bool use_ssr,
-                                                                  int shadow_method)
+                                                                  bool use_ssr)
 {
   static int ssr_id;
   ssr_id = (use_ssr) ? 1 : -1;
@@ -863,8 +839,6 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_create(EEVEE_ViewLaye
   SET_FLAG_FROM_TEST(options, is_hair, VAR_MAT_HAIR);
   SET_FLAG_FROM_TEST(options, use_blend, VAR_MAT_BLEND);
 
-  options |= eevee_material_shadow_option(shadow_method);
-
   if (e_data.default_lit[options] == NULL) {
     create_default_shader(options);
   }
@@ -884,8 +858,7 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_get(EEVEE_ViewLayerDa
                                                                ParticleSystem *psys,
                                                                ModifierData *md,
                                                                bool is_hair,
-                                                               bool use_ssr,
-                                                               int shadow_method)
+                                                               bool use_ssr)
 {
   static int ssr_id;
   ssr_id = (use_ssr) ? 1 : -1;
@@ -897,8 +870,6 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_get(E

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list