[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57892] trunk/blender/source/blender/ editors/space_view3d: tweak to commit r57891, dont draw hidden faces/ edges in editmode.

Campbell Barton ideasman42 at gmail.com
Mon Jul 1 03:25:23 CEST 2013


Revision: 57892
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57892
Author:   campbellbarton
Date:     2013-07-01 01:25:21 +0000 (Mon, 01 Jul 2013)
Log Message:
-----------
tweak to commit r57891, dont draw hidden faces/edges in editmode.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57891

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawmesh.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/editors/space_view3d/view3d_intern.h

Modified: trunk/blender/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2013-07-01 00:42:44 UTC (rev 57891)
+++ trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2013-07-01 01:25:21 UTC (rev 57892)
@@ -1004,7 +1004,8 @@
 }
 
 /* Vertex Paint and Weight Paint */
-void draw_mesh_paint_weight_faces(Mesh *me, DerivedMesh *dm, void *facemask, const bool use_light)
+void draw_mesh_paint_weight_faces(DerivedMesh *dm, const bool use_light,
+                                  void *facemask_cb, void *user_data)
 {
 	if (use_light) {
 		const float spec[4] = {0.47f, 0.47f, 0.47f, 0.47f};
@@ -1019,7 +1020,7 @@
 		glEnable(GL_COLOR_MATERIAL);
 	}
 
-	dm->drawMappedFaces(dm, (DMSetDrawOptions)facemask, GPU_enable_material, NULL, me,
+	dm->drawMappedFaces(dm, (DMSetDrawOptions)facemask_cb, GPU_enable_material, NULL, user_data,
 	                    DM_DRAW_USE_COLORS | DM_DRAW_ALWAYS_SMOOTH);
 
 	if (use_light) {
@@ -1030,7 +1031,8 @@
 	}
 }
 
-void draw_mesh_paint_weight_edges(RegionView3D *rv3d, DerivedMesh *dm, const bool use_depth)
+void draw_mesh_paint_weight_edges(RegionView3D *rv3d, DerivedMesh *dm, const bool use_depth,
+                                  void *edgemask_cb, void *user_data)
 {
 	/* weight paint in solid mode, special case. focus on making the weights clear
 	 * rather than the shading, this is also forced in wire view */
@@ -1048,7 +1050,7 @@
 	glEnable(GL_LINE_STIPPLE);
 	glLineStipple(1, 0xAAAA);
 
-	dm->drawEdges(dm, 1, 1);
+	dm->drawMappedEdges(dm, (DMSetDrawOptions)edgemask_cb, user_data);
 
 	if (use_depth) {
 		bglPolygonOffset(rv3d->dist, 0.0);
@@ -1078,7 +1080,7 @@
 			GPU_enable_material(0, NULL);
 		}
 
-		draw_mesh_paint_weight_faces(me, dm, facemask, use_light);
+		draw_mesh_paint_weight_faces(dm, use_light, facemask, me);
 	}
 	else if (ob->mode & OB_MODE_VERTEX_PAINT) {
 		if (me->mloopcol) {
@@ -1098,7 +1100,7 @@
 	}
 	else if ((use_light == false) || (ob->dtx & OB_DRAWWIRE)) {
 		const bool use_depth = (v3d->flag & V3D_ZBUF_SELECT) || !(ob->mode & OB_MODE_WEIGHT_PAINT);
-		draw_mesh_paint_weight_edges(rv3d, dm, use_depth);
+		draw_mesh_paint_weight_edges(rv3d, dm, use_depth, NULL, NULL);
 	}
 }
 

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2013-07-01 00:42:44 UTC (rev 57891)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2013-07-01 01:25:21 UTC (rev 57892)
@@ -3044,15 +3044,15 @@
 
 	if (check_object_draw_editweight(me, finalDM)) {
 		if (dt > OB_WIRE) {
-			draw_mesh_paint_weight_faces(me, finalDM, NULL, true);
+			draw_mesh_paint_weight_faces(finalDM, true, draw_em_fancy__setFaceOpts, me->edit_btmesh);
 
 			bglPolygonOffset(rv3d->dist, 1.0);
 			glDepthMask(0);
 		}
 		else {
 			glEnable(GL_DEPTH_TEST);
-			draw_mesh_paint_weight_faces(me, finalDM, NULL, false);
-			draw_mesh_paint_weight_edges(rv3d, finalDM, true);
+			draw_mesh_paint_weight_faces(finalDM, false, draw_em_fancy__setFaceOpts, me->edit_btmesh);
+			draw_mesh_paint_weight_edges(rv3d, finalDM, true, draw_dm_edges__setDrawOptions, me->edit_btmesh);
 			glDisable(GL_DEPTH_TEST);
 		}
 	}

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_intern.h
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_intern.h	2013-07-01 00:42:44 UTC (rev 57891)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_intern.h	2013-07-01 01:25:21 UTC (rev 57892)
@@ -150,8 +150,10 @@
 void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d,
                         struct Object *ob, struct DerivedMesh *dm, const int draw_flags);
 void draw_mesh_face_select(struct RegionView3D *rv3d, struct Mesh *me, struct DerivedMesh *dm);
-void draw_mesh_paint_weight_faces(struct Mesh *me, struct DerivedMesh *dm, void *facemask, const bool do_light);
-void draw_mesh_paint_weight_edges(RegionView3D *rv3d, struct DerivedMesh *dm, const bool use_depth);
+void draw_mesh_paint_weight_faces(struct DerivedMesh *dm, const bool do_light,
+                                  void *facemask_cb, void *user_data);
+void draw_mesh_paint_weight_edges(RegionView3D *rv3d, struct DerivedMesh *dm, const bool use_depth,
+                                  void *edgemask_cb, void *user_data);
 void draw_mesh_paint(View3D *v3d, RegionView3D *rv3d,
                      struct Object *ob, struct DerivedMesh *dm, const int draw_flags);
 




More information about the Bf-blender-cvs mailing list