[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58442] trunk/blender: hidden wireframe option for mesh editmode, important for retopology mode ( can be used with xray).
Campbell Barton
ideasman42 at gmail.com
Sat Jul 20 05:51:50 CEST 2013
Revision: 58442
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58442
Author: campbellbarton
Date: 2013-07-20 03:51:49 +0000 (Sat, 20 Jul 2013)
Log Message:
-----------
hidden wireframe option for mesh editmode, important for retopology mode (can be used with xray).
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
trunk/blender/source/blender/editors/space_view3d/drawobject.c
trunk/blender/source/blender/editors/util/CMakeLists.txt
trunk/blender/source/blender/makesdna/DNA_view3d_types.h
trunk/blender/source/blender/makesrna/intern/rna_space.c
Modified: trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_view3d.py 2013-07-20 03:15:57 UTC (rev 58441)
+++ trunk/blender/release/scripts/startup/bl_ui/space_view3d.py 2013-07-20 03:51:49 UTC (rev 58442)
@@ -2580,6 +2580,8 @@
if view.use_matcap:
col.template_icon_view(view, "matcap_icon")
col.prop(view, "show_backface_culling")
+ if ob.mode == 'EDIT' and view.viewport_shade not in {'BOUNDBOX', 'WIREFRAME'}:
+ col.prop(view, "show_occlude_wire")
layout.separator()
Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c 2013-07-20 03:15:57 UTC (rev 58441)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c 2013-07-20 03:51:49 UTC (rev 58442)
@@ -3092,6 +3092,7 @@
BMFace *efa_act = BM_mesh_active_face_get(em->bm, false, true); /* annoying but active faces is stored differently */
BMEdge *eed_act = NULL;
BMVert *eve_act = NULL;
+ bool use_occlude_wire = (v3d->flag2 & V3D_OCCLUDE_WIRE) && (dt > OB_WIRE);
// if (cageDM) BLI_assert(!(cageDM->dirty & DM_DIRTY_NORMALS));
if (finalDM) BLI_assert(!(finalDM->dirty & DM_DIRTY_NORMALS));
@@ -3130,7 +3131,13 @@
}
}
else if (dt > OB_WIRE) {
- if (check_object_draw_texture(scene, v3d, dt)) {
+ if (use_occlude_wire) {
+ glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
+ finalDM->drawMappedFaces(finalDM, draw_em_fancy__setFaceOpts,
+ GPU_enable_material, NULL, me->edit_btmesh, 0);
+ glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+ }
+ else if (check_object_draw_texture(scene, v3d, dt)) {
if (draw_glsl_material(scene, ob, v3d, dt)) {
glFrontFace((ob->transflag & OB_NEG_SCALE) ? GL_CW : GL_CCW);
@@ -3171,8 +3178,8 @@
finalDM->drawEdges(finalDM, 1, 0);
}
}
-
- if (me->drawflag & ME_DRAWFACES) { /* transp faces */
+
+ if ((me->drawflag & ME_DRAWFACES) && (use_occlude_wire == false)) { /* transp faces */
unsigned char col1[4], col2[4], col3[4];
#ifdef WITH_FREESTYLE
unsigned char col4[4];
@@ -3311,6 +3318,11 @@
bglPolygonOffset(rv3d->dist, 0.0);
GPU_disable_material();
}
+#if 0 /* currently not needed */
+ else if (use_occlude_wire) {
+ bglPolygonOffset(rv3d->dist, 0.0);
+ }
+#endif
}
/* Mesh drawing routines */
Modified: trunk/blender/source/blender/editors/util/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/editors/util/CMakeLists.txt 2013-07-20 03:15:57 UTC (rev 58441)
+++ trunk/blender/source/blender/editors/util/CMakeLists.txt 2013-07-20 03:51:49 UTC (rev 58442)
@@ -47,6 +47,7 @@
../include/BIF_glutil.h
../include/ED_anim_api.h
../include/ED_armature.h
+ ../include/ED_buttons.h
../include/ED_clip.h
../include/ED_curve.h
../include/ED_datafiles.h
Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h 2013-07-20 03:15:57 UTC (rev 58441)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h 2013-07-20 03:51:49 UTC (rev 58442)
@@ -279,7 +279,9 @@
#define V3D_RENDER_BORDER 2048
#define V3D_SOLID_MATCAP 4096 /* user flag */
#define V3D_SHOW_SOLID_MATCAP 8192 /* runtime flag */
+#define V3D_OCCLUDE_WIRE 16384
+
/* View3D->around */
#define V3D_CENTER 0
#define V3D_CENTROID 3
Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c 2013-07-20 03:15:57 UTC (rev 58441)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c 2013-07-20 03:51:49 UTC (rev 58442)
@@ -1921,6 +1921,11 @@
RNA_def_property_ui_text(prop, "Backface Culling", "Use back face culling to hide the back side of faces");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+ prop = RNA_def_property(srna, "show_occlude_wire", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_OCCLUDE_WIRE);
+ RNA_def_property_ui_text(prop, "Hidden Wire", "Use hidden wireframe display");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
prop = RNA_def_property(srna, "lock_camera", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_LOCK_CAMERA);
RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view");
More information about the Bf-blender-cvs
mailing list