[Bf-blender-cvs] [9a207356caf] tmp-overlay-engine: Cleanup: Naming conventions, code clarity mentionned in review

Clément Foucault noreply at git.blender.org
Tue Nov 26 12:45:31 CET 2019


Commit: 9a207356caf09f78e2857d620b4c77d00172f145
Author: Clément Foucault
Date:   Tue Nov 26 13:15:39 2019 +0100
Branches: tmp-overlay-engine
https://developer.blender.org/rB9a207356caf09f78e2857d620b4c77d00172f145

Cleanup: Naming conventions, code clarity mentionned in review

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

M	source/blender/draw/engines/overlay/overlay_antialiasing.c
M	source/blender/draw/engines/overlay/overlay_engine.c
M	source/blender/draw/engines/overlay/overlay_extra.c
M	source/blender/draw/engines/overlay/overlay_metaball.c
M	source/blender/draw/engines/overlay/overlay_motion_path.c
M	source/blender/draw/engines/overlay/overlay_outline.c
M	source/blender/draw/engines/overlay/overlay_private.h
M	source/blender/draw/engines/overlay/overlay_shader.c
M	source/blender/draw/engines/overlay/shaders/edit_lattice_wire_vert.glsl
M	source/blender/draw/engines/overlay/shaders/edit_mesh_geom.glsl
M	source/blender/draw/engines/overlay/shaders/edit_particle_strand_vert.glsl
M	source/blender/draw/engines/overlay/shaders/wireframe_geom.glsl
M	source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl
M	source/blender/draw/intern/draw_cache_impl_lattice.c
M	source/blender/draw/intern/shaders/common_view_lib.glsl
M	source/blender/gpu/intern/gpu_shader.c

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

diff --git a/source/blender/draw/engines/overlay/overlay_antialiasing.c b/source/blender/draw/engines/overlay/overlay_antialiasing.c
index b7edc4c7800..d79633c14f8 100644
--- a/source/blender/draw/engines/overlay/overlay_antialiasing.c
+++ b/source/blender/draw/engines/overlay/overlay_antialiasing.c
@@ -26,6 +26,12 @@
 
 #include "overlay_private.h"
 
+void OVERLAY_antialiasing_reset(OVERLAY_Data *vedata)
+{
+  OVERLAY_PrivateData *pd = vedata->stl->pd;
+  pd->antialiasing.sample = 0;
+}
+
 void OVERLAY_antialiasing_init(OVERLAY_Data *vedata)
 {
   OVERLAY_FramebufferList *fbl = vedata->fbl;
@@ -102,7 +108,7 @@ void OVERLAY_antialiasing_init(OVERLAY_Data *vedata)
     }
     else {
       /* FXAA */
-      pd->antialiasing.sample = 0;
+      OVERLAY_antialiasing_reset(vedata);
       /* Use default view */
       pd->view_default = (DRWView *)DRW_view_default_get();
     }
diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c
index 2a400e48d9e..e0f3ea4b0b1 100644
--- a/source/blender/draw/engines/overlay/overlay_engine.c
+++ b/source/blender/draw/engines/overlay/overlay_engine.c
@@ -154,10 +154,10 @@ static void OVERLAY_cache_init(void *vedata)
   OVERLAY_wireframe_cache_init(vedata);
 }
 
-BLI_INLINE OVERLAY_DupliData *OVERLAY_duplidata_get(Object *ob, void *vedata, bool *init)
+BLI_INLINE OVERLAY_DupliData *OVERLAY_duplidata_get(Object *ob, void *vedata, bool *do_init)
 {
   OVERLAY_DupliData **dupli_data = (OVERLAY_DupliData **)DRW_duplidata_get(vedata);
-  *init = false;
+  *do_init = false;
   if (!ELEM(ob->type, OB_MESH, OB_SURF, OB_LATTICE, OB_CURVE, OB_FONT)) {
     return NULL;
   }
@@ -165,11 +165,11 @@ BLI_INLINE OVERLAY_DupliData *OVERLAY_duplidata_get(Object *ob, void *vedata, bo
   if (dupli_data) {
     if (*dupli_data == NULL) {
       *dupli_data = MEM_callocN(sizeof(OVERLAY_DupliData), __func__);
-      *init = true;
+      *do_init = true;
     }
     else if ((*dupli_data)->base_flag != ob->base_flag) {
       /* Select state might have change, reinit. */
-      *init = true;
+      *do_init = true;
     }
     return *dupli_data;
   }
@@ -185,7 +185,7 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
   const bool renderable = DRW_object_is_renderable(ob);
   const bool in_pose_mode = ob->type == OB_ARMATURE && OVERLAY_armature_is_pose_mode(ob, draw_ctx);
   const bool in_edit_mode = BKE_object_is_in_editmode(ob);
-  const bool in_part_edit_mode = ob->mode == OB_MODE_PARTICLE_EDIT;
+  const bool in_particle_edit_mode = ob->mode == OB_MODE_PARTICLE_EDIT;
   const bool in_paint_mode = (ob == draw_ctx->obact) &&
                              (draw_ctx->object_mode & OB_MODE_ALL_PAINT);
   const bool in_sculpt_mode = (ob == draw_ctx->obact) && (ob->sculpt != NULL);
@@ -207,17 +207,17 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
 
   const bool draw_motion_paths = (pd->overlay.flag & V3D_OVERLAY_HIDE_MOTION_PATHS) == 0;
 
-  bool init;
-  OVERLAY_DupliData *dupli = OVERLAY_duplidata_get(ob, vedata, &init);
+  bool do_init;
+  OVERLAY_DupliData *dupli = OVERLAY_duplidata_get(ob, vedata, &do_init);
 
   if (draw_facing) {
     OVERLAY_facing_cache_populate(vedata, ob);
   }
   if (draw_wires) {
-    OVERLAY_wireframe_cache_populate(vedata, ob, dupli, init);
+    OVERLAY_wireframe_cache_populate(vedata, ob, dupli, do_init);
   }
   if (draw_outlines) {
-    OVERLAY_outline_cache_populate(vedata, ob, dupli, init);
+    OVERLAY_outline_cache_populate(vedata, ob, dupli, do_init);
   }
   if (draw_bone_selection) {
     OVERLAY_pose_cache_populate(vedata, ob);
@@ -266,7 +266,7 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
         break;
     }
   }
-  else if (in_part_edit_mode) {
+  else if (in_particle_edit_mode) {
     OVERLAY_edit_particle_cache_populate(vedata, ob);
   }
 
@@ -351,8 +351,6 @@ static void OVERLAY_cache_finish(void *vedata)
   OVERLAY_image_cache_finish(vedata);
 }
 
-#include "GPU_draw.h"
-
 static void OVERLAY_draw_scene(void *vedata)
 {
   OVERLAY_Data *data = vedata;
@@ -394,6 +392,7 @@ static void OVERLAY_draw_scene(void *vedata)
   OVERLAY_wireframe_in_front_draw(vedata);
   OVERLAY_armature_in_front_draw(vedata);
   OVERLAY_extra_in_front_draw(vedata);
+  OVERLAY_metaball_in_front_draw(vedata);
   OVERLAY_image_in_front_draw(vedata);
 
   if (DRW_state_is_fbo()) {
@@ -460,9 +459,7 @@ static void OVERLAY_view_update(void *vedata)
 {
   OVERLAY_Data *data = vedata;
   if (data->stl && data->stl->pd) {
-    OVERLAY_PrivateData *pd = data->stl->pd;
-    /* Reset TAA */
-    pd->antialiasing.sample = 0;
+    OVERLAY_antialiasing_reset(data);
   }
 }
 
diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index e32fdc20e34..a1ce8de8b5d 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -80,38 +80,6 @@ void OVERLAY_extra_cache_init(OVERLAY_Data *vedata)
 
     DRWPass *extra_ps = *p_extra_ps;
 
-#if 0
-    /* Wires (for loose edges) */
-    sh = GPU_shader_get_builtin_shader_with_config(GPU_SHADER_3D_UNIFORM_COLOR, draw_ctx->sh_cfg);
-    cb->wire = shgroup_wire(cb->non_meshes, gb->colorWire, sh, draw_ctx->sh_cfg);
-    cb->wire_select = shgroup_wire(cb->non_meshes, gb->colorSelect, sh, draw_ctx->sh_cfg);
-    cb->wire_transform = shgroup_wire(cb->non_meshes, gb->colorTransform, sh, draw_ctx->sh_cfg);
-    cb->wire_active = shgroup_wire(cb->non_meshes, gb->colorActive, sh, draw_ctx->sh_cfg);
-    /* Wire (duplicator) */
-    cb->wire_dupli = shgroup_wire(cb->non_meshes, gb->colorDupli, sh, draw_ctx->sh_cfg);
-    cb->wire_dupli_select = shgroup_wire(
-        cb->non_meshes, gb->colorDupliSelect, sh, draw_ctx->sh_cfg);
-
-    /* Points (loose points) */
-    sh = sh_data->loose_points;
-    cb->points = shgroup_points(cb->non_meshes, gb->colorWire, sh, draw_ctx->sh_cfg);
-    cb->points_select = shgroup_points(cb->non_meshes, gb->colorSelect, sh, draw_ctx->sh_cfg);
-    cb->points_transform = shgroup_points(
-        cb->non_meshes, gb->colorTransform, sh, draw_ctx->sh_cfg);
-    cb->points_active = shgroup_points(cb->non_meshes, gb->colorActive, sh, draw_ctx->sh_cfg);
-    /* Points (duplicator) */
-    cb->points_dupli = shgroup_points(cb->non_meshes, gb->colorDupli, sh, draw_ctx->sh_cfg);
-    cb->points_dupli_select = shgroup_points(
-        cb->non_meshes, gb->colorDupliSelect, sh, draw_ctx->sh_cfg);
-    DRW_shgroup_state_disable(cb->points, DRW_STATE_BLEND_ALPHA);
-    DRW_shgroup_state_disable(cb->points_select, DRW_STATE_BLEND_ALPHA);
-    DRW_shgroup_state_disable(cb->points_transform, DRW_STATE_BLEND_ALPHA);
-    DRW_shgroup_state_disable(cb->points_active, DRW_STATE_BLEND_ALPHA);
-    DRW_shgroup_state_disable(cb->points_dupli, DRW_STATE_BLEND_ALPHA);
-    DRW_shgroup_state_disable(cb->points_dupli_select, DRW_STATE_BLEND_ALPHA);
-
-#endif
-
 #define BUF_INSTANCE DRW_shgroup_call_buffer_instance
 #define BUF_POINT(grp, format) DRW_shgroup_call_buffer(grp, format, GPU_PRIM_POINTS)
 #define BUF_LINE(grp, format) DRW_shgroup_call_buffer(grp, format, GPU_PRIM_LINES)
@@ -270,11 +238,7 @@ void OVERLAY_extra_loose_points(OVERLAY_ExtraCallBuffers *cb,
                                 const float color[4])
 {
   float draw_mat[4][4];
-  copy_m4_m4(draw_mat, mat);
-  draw_mat[0][3] = color[0];
-  draw_mat[1][3] = color[1];
-  draw_mat[2][3] = color[2];
-  draw_mat[3][3] = color[3];
+  pack_v4_in_mat4(draw_mat, mat, color);
   DRW_shgroup_call_obmat(cb->extra_loose_points, geom, draw_mat);
 }
 
@@ -284,11 +248,7 @@ void OVERLAY_extra_wire(OVERLAY_ExtraCallBuffers *cb,
                         const float color[4])
 {
   float draw_mat[4][4];
-  copy_m4_m4(draw_mat, mat);
-  draw_mat[0][3] = color[0];
-  draw_mat[1][3] = color[1];
-  draw_mat[2][3] = color[2];
-  draw_mat[3][3] = color[3];
+  pack_v4_in_mat4(draw_mat, mat, color);
   DRW_shgroup_call_obmat(cb->extra_wire, geom, draw_mat);
 }
 
@@ -303,8 +263,7 @@ void OVERLAY_empty_shape(OVERLAY_ExtraCallBuffers *cb,
                          const float color[4])
 {
   float instdata[4][4];
-  copy_m4_m4(instdata, mat);
-  instdata[3][3] = draw_size;
+  pack_fl_in_mat4(instdata, mat, draw_size);
 
   switch (draw_type) {
     case OB_PLAINAXES:
@@ -345,9 +304,7 @@ void OVERLAY_empty_cache_populate(OVERLAY_Data *vedata, Object *ob)
   OVERLAY_ExtraCallBuffers *cb = OVERLAY_extra_call_buffer_get(vedata, ob);
   const DRWContextState *draw_ctx = DRW_context_state_get();
   ViewLayer *view_layer = draw_ctx->view_layer;
-
   float *color;
-  DRW_object_wire_theme_get(ob, view_layer, &color);
 
   switch (ob->empty_drawtype) {
     case OB_PLAINAXES:
@@ -357,6 +314,7 @@ void OVERLAY_empty_cache_populate(OVERLAY_Data *vedata, Object *ob)
     case OB_EMPTY_SPHERE:
     case OB_EMPTY_CONE:
     case OB_ARROWS:
+      DRW_object_wire_theme_get(ob, view_layer, &color);
       OVERLAY_empty_shape(cb, ob->obmat, ob->empty_drawsize, ob->empty_drawtype, color);
       break;
     case OB_EMPTY_IMAGE:
@@ -377,15 +335,7 @@ static void OVERLAY_bounds(
 
   BoundBox *bb = BKE_object_boundbox_get(ob);
 
-  if (!ELEM(ob->type,
-            OB_MESH,
-            OB_CURVE,
-            OB_SURF,
-            OB_FONT,
-            OB_MBALL,
-            OB_ARMATURE,
-            OB_LATTICE,
-            OB_GPENCIL)) {
+  if (bb == NULL) {
     const float min[3] = {-1.0f, -1.0f, -1.0f}, max[3] = {1.0f, 1.0f, 1.0f};
     bb = &bb_local;
     BKE_boundbox_init_from_minmax(bb, min, max);
diff --git a/source/blender/draw/engines/overlay/overlay_metaball.c b/source/blender/draw/engines/overlay/overlay_metaball.c
index 74201d5b389..34a44f0c4fa 100644
--- a/source/blender/draw/engines/overlay/overlay_metaball.c
+++ b/source/blender/draw/engines/overlay/overlay_metaball.c
@@ -132,5 +132,11 @@ void OVERLAY_metaball_draw(OVERLAY_Data *vedata)
   OVERLAY_PassList *psl = vedata->psl;
 
   DRW_draw_pass(psl->metaball_ps[0]);
+}
+
+void OVERLAY_metaball_in_front_draw(OVERLAY_Data *vedata)
+{
+  OVERLAY_PassList *psl = vedata->psl;
+
   DRW_draw_pass(psl->metaball_ps[1]);
 }
diff --git a/source/blender/draw/engines/overlay/overlay_motion_path.c b/s

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list