From c2dc51d8271bc91586ef3c731c3cd7382456d482 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 30 Oct 2014 12:13:00 +0100 Subject: Math Lib: add transpose_m3_m3, m3_m4, m4_m4 --- source/blender/editors/space_view3d/drawobject.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source/blender/editors/space_view3d/drawobject.c') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index db04d3ccd66..f8f7bd1137e 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -2153,8 +2153,7 @@ static void calcDrawDMNormalScale(Object *ob, drawDMNormal_userData *data) invert_m3_m3(data->imat, obmat); /* transposed inverted matrix */ - copy_m3_m3(data->tmat, data->imat); - transpose_m3(data->tmat); + transpose_m3_m3(data->tmat, data->imat); } } -- cgit v1.2.3 From 52d571e189d5ba48dbbc2ad0cf24608f30c6bbc2 Mon Sep 17 00:00:00 2001 From: Sergej Reich Date: Tue, 11 Nov 2014 18:16:20 +0100 Subject: Avoid calling powf with integer exponent in more places Move powX functions from particle code into math library and use them. --- source/blender/editors/space_view3d/drawobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/editors/space_view3d/drawobject.c') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index f8f7bd1137e..ecedf35dde2 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -1331,7 +1331,7 @@ static void drawlamp(View3D *v3d, RegionView3D *rv3d, Base *base, /* draw the circle/square representing spotbl */ if (la->type == LA_SPOT) { - float spotblcirc = fabsf(z) * (1.0f - powf(la->spotblend, 2)); + float spotblcirc = fabsf(z) * (1.0f - pow2f(la->spotblend)); /* hide line if it is zero size or overlaps with outer border, * previously it adjusted to always to show it but that seems * confusing because it doesn't show the actual blend size */ -- cgit v1.2.3 From 7d040d2a088ec425550da4242650f1ff75680e0d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 16 Nov 2014 13:57:58 +0100 Subject: Cleanup: use BLI_listbase_*** prefix for count,sort,sort_r --- source/blender/editors/space_view3d/drawobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/editors/space_view3d/drawobject.c') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index ecedf35dde2..7bcc95e9871 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -2496,7 +2496,7 @@ static void draw_dm_edges_weight_interp(BMEditMesh *em, DerivedMesh *dm, const c data.bm = em->bm; data.cd_dvert_offset = CustomData_get_offset(&em->bm->vdata, CD_MDEFORMVERT); - data.defgroup_tot = BLI_countlist(&ob->defbase); + data.defgroup_tot = BLI_listbase_count(&ob->defbase); data.vgroup_index = ob->actdef - 1; data.weight_user = weight_user; UI_GetThemeColor3fv(TH_VERTEX_UNREFERENCED, data.alert_color); -- cgit v1.2.3 From 2e8ba179f71131779899df5a916252922f029e43 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Thu, 27 Nov 2014 19:12:48 +0100 Subject: Fix T42653, solidify modifier not displaying correctly under edit mode. Basically, our drawing code assumed we always use the edit mesh materials, which can be different from the derived mesh materials in modifiers doing overrides. We usually we want to use the derived mesh when it is available instead. There are two fixes here for both solid and textured mode. Unfortunately the fixes do not help to make the display code less labyrinthian but I expect this "should work" (tm and famous last words) Solid mode fix is 95% from Bastien, thanks! --- source/blender/editors/space_view3d/drawobject.c | 1 - 1 file changed, 1 deletion(-) (limited to 'source/blender/editors/space_view3d/drawobject.c') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 7bcc95e9871..85cb48537cf 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -3374,7 +3374,6 @@ static DMDrawOption draw_em_fancy__setFaceOpts(void *userData, int index) efa = BM_face_at_index(em->bm, index); if (!BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) { - GPU_enable_material(efa->mat_nr + 1, NULL); return DM_DRAW_OPTION_NORMAL; } else { -- cgit v1.2.3 From af92f3d325178049de55331258bb341b05c2f4a7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 2 Dec 2014 17:56:40 +0100 Subject: Tex Paint: hide selected face-mask edges Internal selected edges were distracting when painting images. Also remove unused flag. --- source/blender/editors/space_view3d/drawobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/editors/space_view3d/drawobject.c') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 85cb48537cf..79d660f1dbe 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -3771,7 +3771,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D glFrontFace(GL_CCW); if (draw_flags & DRAW_FACE_SELECT) - draw_mesh_face_select(rv3d, me, dm); + draw_mesh_face_select(rv3d, me, dm, false); } else { draw_mesh_textured(scene, v3d, rv3d, ob, dm, draw_flags); -- cgit v1.2.3 From 8fe336ce7e726c2a800c8648e5118576e77b1ddf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 9 Dec 2014 14:37:47 +0100 Subject: Fix T4284: Drawing modified curves crashes --- source/blender/editors/space_view3d/drawobject.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'source/blender/editors/space_view3d/drawobject.c') diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 79d660f1dbe..a63b166969e 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -6857,15 +6857,18 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base, glDepthMask(0); if (ELEM(ob->type, OB_FONT, OB_CURVE, OB_SURF)) { - DerivedMesh *dm = ob->derivedFinal; + DerivedMesh *dm; bool has_faces = false; - if (dm) - DM_update_materials(dm, ob); #ifdef SEQUENCER_DAG_WORKAROUND ensure_curve_cache(scene, ob); #endif + dm = ob->derivedFinal; + if (dm) { + DM_update_materials(dm, ob); + } + if (dm) { has_faces = dm->getNumTessFaces(dm) > 0; } -- cgit v1.2.3