[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