[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