[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11551] branches/soc-2007-maike/source/ blender/src/glsl_drawobject.c: Added metaball radius draw

Miguel Torres Lima torreslima at gmail.com
Sat Aug 11 18:16:17 CEST 2007


Revision: 11551
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11551
Author:   maike
Date:     2007-08-11 18:16:17 +0200 (Sat, 11 Aug 2007)

Log Message:
-----------
Added metaball radius draw

Modified Paths:
--------------
    branches/soc-2007-maike/source/blender/src/glsl_drawobject.c

Modified: branches/soc-2007-maike/source/blender/src/glsl_drawobject.c
===================================================================
--- branches/soc-2007-maike/source/blender/src/glsl_drawobject.c	2007-08-11 16:06:05 UTC (rev 11550)
+++ branches/soc-2007-maike/source/blender/src/glsl_drawobject.c	2007-08-11 16:16:17 UTC (rev 11551)
@@ -30,6 +30,7 @@
 #include "BDR_drawmesh.h"
 #include "BDR_drawobject.h"
 
+#include "BIF_mywindow.h"
 #include "BIF_resources.h"
 #include "BIF_glsl_material.h"
 #include "BIF_glsl_materialtree.h"
@@ -418,26 +419,26 @@
     if(program)
       set_vertex_color(mat, tmpcol, 1, program->program); 
     else if(mat->mode & MA_SHLESS)
-      set_vertex_color(mat, tmpcol, 1, NULL); 
+      set_vertex_color(mat, tmpcol, 1, 0); 
     create_vertex(ob, vert, face->v1, face->flag, &tangent[0], (mat->mode & MA_TANGENT_V)?1:0, 0);
 
     if(program)
       set_vertex_color(mat, tmpcol, 5, program->program); 
     else if(mat->mode & MA_SHLESS)
-      set_vertex_color(mat, tmpcol, 5, NULL); 
+      set_vertex_color(mat, tmpcol, 5, 0); 
     create_vertex(ob, vert, face->v2, face->flag, &tangent[0], (mat->mode & MA_TANGENT_V)?1:0, 1);
 
     if(program)
       set_vertex_color(mat, tmpcol, 9, program->program); 
     else if(mat->mode & MA_SHLESS)
-      set_vertex_color(mat, tmpcol, 9, NULL); 
+      set_vertex_color(mat, tmpcol, 9, 0); 
     create_vertex(ob, vert, face->v3, face->flag, &tangent[0], (mat->mode & MA_TANGENT_V)?1:0, 2);
     
     if(face->v4){
       if(program)
 	set_vertex_color(mat, tmpcol, 13, program->program); 
       else if(mat->mode & MA_SHLESS)
-	set_vertex_color(mat, tmpcol, 13, NULL);  
+	set_vertex_color(mat, tmpcol, 13, 0);  
       create_vertex(ob, vert, face->v4, face->flag, &tangent[0], (mat->mode & MA_TANGENT_V)?1:0, 3);
     }
     
@@ -525,6 +526,11 @@
   DispList *dl;
   ListBase *lb;
 
+  MetaBall *mb = ob->data;
+  MetaElem *ml;
+  float imat[4][4], tmat[4][4];
+
+
   lb = &ob->disp;
   if(lb->first == NULL) makeDispListMBall(ob);
   if(lb->first == NULL) return;
@@ -532,6 +538,28 @@
   dl = lb->first;
 
   glsl_draw_dispList(ob, dl);
+
+  ml = mb->elems.first;
+  if(ml == NULL) return;
+
+  if(ob->flag & SELECT){
+    if(ob == OBACT) 
+      BIF_ThemeColor(TH_ACTIVE);
+    else 
+      BIF_ThemeColor(TH_SELECT);
+  }
+  else 
+    BIF_ThemeColor(TH_WIRE);
+  
+  mygetmatrix(tmat);
+  Mat4Invert(imat, tmat);
+  Normalize(imat[0]);
+  Normalize(imat[1]);
+  
+  while(ml) {
+    drawcircball(GL_LINE_LOOP, &(ml->x), ml->rad, imat);   
+    ml= ml->next;
+  }
 }
 
 





More information about the Bf-blender-cvs mailing list