[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11530] branches/soc-2007-maike/source/ blender: Added mesh wire draw

Miguel Torres Lima torreslima at gmail.com
Thu Aug 9 18:43:15 CEST 2007


Revision: 11530
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11530
Author:   maike
Date:     2007-08-09 18:43:15 +0200 (Thu, 09 Aug 2007)

Log Message:
-----------
Added mesh wire draw

Modified Paths:
--------------
    branches/soc-2007-maike/source/blender/include/BIF_glsl_drawobject.h
    branches/soc-2007-maike/source/blender/src/drawobject.c
    branches/soc-2007-maike/source/blender/src/glsl_drawobject.c

Modified: branches/soc-2007-maike/source/blender/include/BIF_glsl_drawobject.h
===================================================================
--- branches/soc-2007-maike/source/blender/include/BIF_glsl_drawobject.h	2007-08-09 16:18:52 UTC (rev 11529)
+++ branches/soc-2007-maike/source/blender/include/BIF_glsl_drawobject.h	2007-08-09 16:43:15 UTC (rev 11530)
@@ -40,7 +40,7 @@
 
 
 void create_vertex(struct Object *obj, struct MVert *vert, int index, int flag, float *tangent, short tanflag, short tanindex);
-void glsl_draw(struct Object *ob, int flag);
+void glsl_draw(struct Base *base, int warning_recursive, int flag, unsigned int *col);
 void glsl_draw_curve(struct Base *base);
 void glsl_draw_mball(struct Base *base);
 

Modified: branches/soc-2007-maike/source/blender/src/drawobject.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/drawobject.c	2007-08-09 16:18:52 UTC (rev 11529)
+++ branches/soc-2007-maike/source/blender/src/drawobject.c	2007-08-09 16:43:15 UTC (rev 11530)
@@ -3877,7 +3877,7 @@
 		case OB_MESH:
 			if (!(base->flag&OB_RADIO)) {
 			  if(glsl_active()  && (base->lay & G.vd->lay) && dt == OB_SHADED && G.obedit != ob && (OBACT != ob || !(G.f & (G_FACESELECT|G_WEIGHTPAINT|G_TEXTUREPAINT|G_VERTEXPAINT|G_SCULPTMODE)))){
-			    glsl_draw(base->object, base->flag);
+			    glsl_draw(base, warning_recursive, flag, &col);
 			    set_draw_color(base, warning_recursive, flag, &col);
 			  }
 			  else{

Modified: branches/soc-2007-maike/source/blender/src/glsl_drawobject.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_drawobject.c	2007-08-09 16:18:52 UTC (rev 11529)
+++ branches/soc-2007-maike/source/blender/src/glsl_drawobject.c	2007-08-09 16:43:15 UTC (rev 11530)
@@ -337,8 +337,9 @@
 }
 
 
-void glsl_draw(Object *ob, int flag)
+void glsl_draw(Base *base, int warning_recursive, int flag, unsigned int *col)
 {
+  Object *ob = base->object;
   DerivedMesh *dm= mesh_get_derived_final(ob, get_viewedit_datamask());
   CDDerivedMesh *cddm = (CDDerivedMesh *) dm;
 
@@ -354,7 +355,7 @@
 
 
   if(ob == OBACT ||  (flag & (SELECT+BA_WAS_SEL)))
-    glsl_draw_outline(ob, flag, face, dm->numFaceData, vert);
+    glsl_draw_outline(ob, base->flag, face, dm->numFaceData, vert);
 
 
   for(i = 0; i < dm->numFaceData; i++, face++, tface++){
@@ -438,8 +439,6 @@
     if(nors) nors += 3;
   }
 
-  dm->release(dm);
-
   // TODO: disable the right number of texture units depending on material
   for(i=2; i>=0; i--) {
     glActiveTexture(GL_TEXTURE0 + i);
@@ -447,6 +446,17 @@
     glDisable(GL_TEXTURE_1D);
   }
   glUseProgram(0);
+
+  if(ob->dtx & OB_DRAWWIRE){
+    set_draw_color(base, warning_recursive, flag, col);
+    bglPolygonOffset(1.0);
+    glDepthMask(0);	      
+    dm->drawEdges(dm, 1);
+    glDepthMask(1);
+    bglPolygonOffset(0.0);
+  }
+
+  dm->release(dm);
 }
 
 





More information about the Bf-blender-cvs mailing list