[Bf-blender-cvs] [8d6a5fb5d3c] master: Fix T63447 Particle system: No particles after switching from hair to ...

Clément Foucault noreply at git.blender.org
Mon Jul 8 18:19:08 CEST 2019


Commit: 8d6a5fb5d3c45cdfb0d06dd7f1f18aa8c870f8c1
Author: Clément Foucault
Date:   Mon Jul 8 18:00:57 2019 +0200
Branches: master
https://developer.blender.org/rB8d6a5fb5d3c45cdfb0d06dd7f1f18aa8c870f8c1

Fix T63447 Particle system: No particles after switching from hair to ...

... emitter type

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

M	source/blender/draw/modes/object_mode.c

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

diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index 3fec9d59df4..9fc11e4f36f 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -3277,7 +3277,12 @@ static void OBJECT_cache_populate_particles(OBJECT_Shaders *sh_data,
     ParticleSettings *part = psys->part;
     int draw_as = (part->draw_as == PART_DRAW_REND) ? part->ren_as : part->draw_as;
 
-    if (draw_as != PART_DRAW_PATH) {
+    if (part->type == PART_HAIR) {
+      /* Hairs should have been rendered by the render engine.*/
+      continue;
+    }
+
+    if (!ELEM(draw_as, PART_DRAW_NOT, PART_DRAW_OB, PART_DRAW_GR)) {
       struct GPUBatch *geom = DRW_cache_particles_get_dots(ob, psys);
       DRWShadingGroup *shgrp = NULL;
       struct GPUBatch *shape = NULL;
@@ -3287,6 +3292,7 @@ static void OBJECT_cache_populate_particles(OBJECT_Shaders *sh_data,
       Material *ma = give_current_material(ob, part->omat);
 
       switch (draw_as) {
+        default:
         case PART_DRAW_DOT:
           shgrp = DRW_shgroup_create(sh_data->part_dot, psl->particle);
           DRW_shgroup_uniform_vec3(shgrp, "color", ma ? &ma->r : def_prim_col, 1);
@@ -3321,8 +3327,6 @@ static void OBJECT_cache_populate_particles(OBJECT_Shaders *sh_data,
           DRW_shgroup_uniform_bool_copy(shgrp, "screen_space", false);
           DRW_shgroup_call_instances_with_attribs(shgrp, NULL, shape, geom);
           break;
-        default:
-          break;
       }
     }
   }



More information about the Bf-blender-cvs mailing list