diff options
author | Antonioya <blendergit@gmail.com> | 2018-09-09 12:41:25 +0300 |
---|---|---|
committer | Antonioya <blendergit@gmail.com> | 2018-09-09 12:41:25 +0300 |
commit | d5d354b1a234bcb04205c13cf2ae8a9519231f5b (patch) | |
tree | 76daa4f8901bc4204442a2e0e13eddc90d9aeebd | |
parent | f074642b2cf3b73ed98b6a0833d6a81af37430b0 (diff) |
GP: Fix scale problem when object is parented
The stroke was not scaled as expected in child objects.
-rw-r--r-- | source/blender/draw/engines/gpencil/gpencil_draw_utils.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index 853f79d5a6e..73a621a5f0f 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -387,7 +387,7 @@ DRWShadingGroup *DRW_gpencil_shgroup_stroke_create( /* object scale and depth */ if ((ob) && (id > -1)) { - stl->shgroups[id].obj_scale = (ob->size[0] + ob->size[1] + ob->size[2]) / 3.0f; + stl->shgroups[id].obj_scale = mat4_to_scale(ob->obmat); DRW_shgroup_uniform_float(grp, "objscale", &stl->shgroups[id].obj_scale, 1); stl->shgroups[id].keep_size = (int)((gpd) && (gpd->flag & GP_DATA_STROKE_KEEPTHICKNESS)); DRW_shgroup_uniform_int(grp, "keep_size", &stl->shgroups[id].keep_size, 1); @@ -477,7 +477,7 @@ static DRWShadingGroup *DRW_gpencil_shgroup_point_create( /* object scale and depth */ if ((ob) && (id > -1)) { - stl->shgroups[id].obj_scale = (ob->size[0] + ob->size[1] + ob->size[2]) / 3.0f; + stl->shgroups[id].obj_scale = mat4_to_scale(ob->obmat);; DRW_shgroup_uniform_float(grp, "objscale", &stl->shgroups[id].obj_scale, 1); stl->shgroups[id].keep_size = (int)((gpd) && (gpd->flag & GP_DATA_STROKE_KEEPTHICKNESS)); DRW_shgroup_uniform_int(grp, "keep_size", &stl->shgroups[id].keep_size, 1); |