[Bf-blender-cvs] [b11168c8f15] blender2.8: Clay/Hair: Only show hair when in object mode
Dalai Felinto
noreply at git.blender.org
Tue May 16 16:18:34 CEST 2017
Commit: b11168c8f15fe320c60ec6b7054f514bd342d738
Author: Dalai Felinto
Date: Tue May 16 16:18:17 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBb11168c8f15fe320c60ec6b7054f514bd342d738
Clay/Hair: Only show hair when in object mode
===================================================================
M source/blender/draw/engines/clay/clay_engine.c
===================================================================
diff --git a/source/blender/draw/engines/clay/clay_engine.c b/source/blender/draw/engines/clay/clay_engine.c
index f2cd63f923d..113f8dd157b 100644
--- a/source/blender/draw/engines/clay/clay_engine.c
+++ b/source/blender/draw/engines/clay/clay_engine.c
@@ -753,29 +753,35 @@ static void CLAY_cache_populate(void *vedata, Object *ob)
}
if (ob->type == OB_MESH) {
- for (ParticleSystem *psys = ob->particlesystem.first; psys; psys = psys->next) {
- if (psys_check_enabled(ob, psys, false)) {
- 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 && !psys->pathcache && !psys->childcache) {
- draw_as = PART_DRAW_DOT;
- }
-
- switch (draw_as) {
- case PART_DRAW_PATH:
- geom = DRW_cache_particles_get_hair(psys);
- break;
- default:
- geom = NULL;
- break;
- }
-
- if (geom) {
- static float mat[4][4];
- unit_m4(mat);
- hair_shgrp = CLAY_hair_shgrp_get(ob, stl, psl);
- DRW_shgroup_call_add(hair_shgrp, geom, mat);
+ const DRWContextState *draw_ctx = DRW_context_state_get();
+ Scene *scene = draw_ctx->scene;
+ Object *obedit = scene->obedit;
+
+ if (ob != obedit) {
+ for (ParticleSystem *psys = ob->particlesystem.first; psys; psys = psys->next) {
+ if (psys_check_enabled(ob, psys, false)) {
+ 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 && !psys->pathcache && !psys->childcache) {
+ draw_as = PART_DRAW_DOT;
+ }
+
+ switch (draw_as) {
+ case PART_DRAW_PATH:
+ geom = DRW_cache_particles_get_hair(psys);
+ break;
+ default:
+ geom = NULL;
+ break;
+ }
+
+ if (geom) {
+ static float mat[4][4];
+ unit_m4(mat);
+ hair_shgrp = CLAY_hair_shgrp_get(ob, stl, psl);
+ DRW_shgroup_call_add(hair_shgrp, geom, mat);
+ }
}
}
}
More information about the Bf-blender-cvs
mailing list