[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29776] branches/render25/source/blender: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/ blender -r29760:29775

Brecht Van Lommel brecht at blender.org
Mon Jun 28 19:21:42 CEST 2010


Revision: 29776
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29776
Author:   blendix
Date:     2010-06-28 19:21:42 +0200 (Mon, 28 Jun 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29760:29775

Modified Paths:
--------------
    branches/render25/source/blender/blenkernel/BKE_displist.h
    branches/render25/source/blender/blenkernel/BKE_lattice.h
    branches/render25/source/blender/blenkernel/BKE_mball.h
    branches/render25/source/blender/blenkernel/intern/displist.c
    branches/render25/source/blender/blenkernel/intern/lattice.c
    branches/render25/source/blender/blenkernel/intern/mball.c
    branches/render25/source/blender/blenkernel/intern/texture.c
    branches/render25/source/blender/editors/interface/interface_templates.c
    branches/render25/source/blender/render/intern/source/object_mesh.c

Added Paths:
-----------
    branches/render25/source/blender/makesrna/rna_cleanup/
    branches/render25/source/blender/makesrna/rna_cleanup/rna_api_cleanup.txt
    branches/render25/source/blender/makesrna/rna_cleanup/rna_booleans.txt
    branches/render25/source/blender/makesrna/rna_cleanup/rna_cleaner.py

Removed Paths:
-------------
    branches/render25/source/blender/makesrna/rna_cleanup/rna_api_cleanup.txt
    branches/render25/source/blender/makesrna/rna_cleanup/rna_booleans.txt
    branches/render25/source/blender/makesrna/rna_cleanup/rna_cleaner.py

Modified: branches/render25/source/blender/blenkernel/BKE_displist.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_displist.h	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/BKE_displist.h	2010-06-28 17:21:42 UTC (rev 29776)
@@ -93,6 +93,7 @@
 extern void makeDispListCurveTypes_forRender(struct Scene *scene, struct Object *ob, struct ListBase *dispbase, struct DerivedMesh **derivedFinal, int forOrco);
 extern void makeDispListCurveTypes_forOrco(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
 extern void makeDispListMBall(struct Scene *scene, struct Object *ob);
+extern void makeDispListMBall_forRender(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
 extern void shadeDispList(struct Scene *scene, struct Base *base);
 extern void shadeMeshMCol(struct Scene *scene, struct Object *ob, struct Mesh *me);
 

Modified: branches/render25/source/blender/blenkernel/BKE_lattice.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_lattice.h	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/BKE_lattice.h	2010-06-28 17:21:42 UTC (rev 29776)
@@ -49,7 +49,7 @@
 void calc_latt_deform(struct Object *, float *co, float weight);
 void end_latt_deform(struct Object *);
 
-int object_deform_mball(struct Object *ob);
+int object_deform_mball(struct Object *ob, struct ListBase *dispbase);
 void outside_lattice(struct Lattice *lt);
 
 void curve_deform_verts(struct Scene *scene, struct Object *cuOb, struct Object *target, 

Modified: branches/render25/source/blender/blenkernel/BKE_mball.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_mball.h	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/BKE_mball.h	2010-06-28 17:21:42 UTC (rev 29776)
@@ -164,12 +164,12 @@
 struct MetaBall *copy_mball(struct MetaBall *mb);
 void make_local_mball(struct MetaBall *mb);
 void tex_space_mball(struct Object *ob);
-float *make_orco_mball(struct Object *ob);
+float *make_orco_mball(struct Object *ob, struct ListBase *dispbase);
 void copy_mball_properties(struct Scene *scene, struct Object *active_object);
 struct Object *find_basis_mball(struct Scene *scene, struct Object *ob);
 int is_basis_mball(struct Object *ob);
 int is_mball_basis_for(struct Object *ob1, struct Object *ob2);
-void metaball_polygonize(struct Scene *scene, struct Object *ob);
+void metaball_polygonize(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
 void calc_mballco(struct MetaElem *ml, float *vec);
 float densfunc(struct MetaElem *ball, float x, float y, float z);
 float metaball(float x, float y, float z);

Modified: branches/render25/source/blender/blenkernel/intern/displist.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/displist.c	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/intern/displist.c	2010-06-28 17:21:42 UTC (rev 29776)
@@ -1176,20 +1176,30 @@
 {
 	if(!ob || ob->type!=OB_MBALL) return;
 
+	// XXX: mball stuff uses plenty of global variables
+	//      while this is unchanged updating during render is unsafe
+	if(G.rendering) return;
+
 	freedisplist(&(ob->disp));
-	
+
 	if(ob->type==OB_MBALL) {
 		if(ob==find_basis_mball(scene, ob)) {
-			metaball_polygonize(scene, ob);
+			metaball_polygonize(scene, ob, &ob->disp);
 			tex_space_mball(ob);
 
-			object_deform_mball(ob);
+			object_deform_mball(ob, &ob->disp);
 		}
 	}
 	
 	boundbox_displist(ob);
 }
 
+void makeDispListMBall_forRender(Scene *scene, Object *ob, ListBase *dispbase)
+{
+	metaball_polygonize(scene, ob, dispbase);
+	object_deform_mball(ob, dispbase);
+}
+
 static ModifierData *curve_get_tesselate_point(Scene *scene, Object *ob, int forRender, int editmode)
 {
 	ModifierData *md = modifiers_getVirtualModifierList(ob);

Modified: branches/render25/source/blender/blenkernel/intern/lattice.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/lattice.c	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/intern/lattice.c	2010-06-28 17:21:42 UTC (rev 29776)
@@ -869,12 +869,12 @@
 	end_latt_deform(laOb);
 }
 
-int object_deform_mball(Object *ob)
+int object_deform_mball(Object *ob, ListBase *dispbase)
 {
 	if(ob->parent && ob->parent->type==OB_LATTICE && ob->partype==PARSKEL) {
 		DispList *dl;
 
-		for (dl=ob->disp.first; dl; dl=dl->next) {
+		for (dl=dispbase->first; dl; dl=dl->next) {
 			lattice_deform_verts(ob->parent, ob, NULL,
 								 (float(*)[3]) dl->verts, dl->nr, NULL);
 		}

Modified: branches/render25/source/blender/blenkernel/intern/mball.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/mball.c	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/intern/mball.c	2010-06-28 17:21:42 UTC (rev 29776)
@@ -226,7 +226,7 @@
 	boundbox_set_from_min_max(bb, min, max);
 }
 
-float *make_orco_mball(Object *ob)
+float *make_orco_mball(Object *ob, ListBase *dispbase)
 {
 	BoundBox *bb;
 	DispList *dl;
@@ -243,7 +243,7 @@
 	loc[2]= (bb->vec[0][2]+bb->vec[1][2])/2.0f;
 	size[2]= bb->vec[1][2]-loc[2];
 
-	dl= ob->disp.first;
+	dl= dispbase->first;
 	orcodata= MEM_mallocN(sizeof(float)*3*dl->nr, "MballOrco");
 
 	data= dl->verts;
@@ -2088,7 +2088,7 @@
 	subdivide_metaball_octal_node(node, size[0], size[1], size[2], metaball_tree->depth);
 }
 
-void metaball_polygonize(Scene *scene, Object *ob)
+void metaball_polygonize(Scene *scene, Object *ob, ListBase *dispbase)
 {
 	PROCESS mbproc;
 	MetaBall *mb;
@@ -2105,7 +2105,6 @@
 
 	object_scale_to_mat3(ob, smat);
 
-	freedisplist(&ob->disp);
 	curindex= totindex= 0;
 	indices= 0;
 	thresh= mb->thresh;
@@ -2174,9 +2173,8 @@
 	}
 
 	if(curindex) {
-	
 		dl= MEM_callocN(sizeof(DispList), "mbaldisp");
-		BLI_addtail(&ob->disp, dl);
+		BLI_addtail(dispbase, dl);
 		dl->type= DL_INDEX4;
 		dl->nr= mbproc.vertices.count;
 		dl->parts= curindex;

Modified: branches/render25/source/blender/blenkernel/intern/texture.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/texture.c	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/blenkernel/intern/texture.c	2010-06-28 17:21:42 UTC (rev 29776)
@@ -1138,6 +1138,7 @@
 	pd->totpoints = 0;
 	pd->object = NULL;
 	pd->psys = 0;
+	pd->psys_cache_space= TEX_PD_WORLDSPACE;
 	return pd;
 } 
 

Modified: branches/render25/source/blender/editors/interface/interface_templates.c
===================================================================
--- branches/render25/source/blender/editors/interface/interface_templates.c	2010-06-28 16:52:57 UTC (rev 29775)
+++ branches/render25/source/blender/editors/interface/interface_templates.c	2010-06-28 17:21:42 UTC (rev 29776)
@@ -1333,7 +1333,30 @@
 	rna_update_cb(C, cb_v, NULL);
 }
 
+static void colorband_flip_cb(bContext *C, void *cb_v, void *coba_v)
+{
+	CBData data_tmp[MAXCOLORBAND];
 
+	ColorBand *coba= coba_v;
+	int a;
+
+	for(a=0; a<coba->tot; a++) {
+		data_tmp[a]= coba->data[coba->tot - (a + 1)];
+	}
+	for(a=0; a<coba->tot; a++) {
+		data_tmp[a].pos = 1.0f - data_tmp[a].pos;
+		coba->data[a]= data_tmp[a];
+	}
+
+	/* may as well flip the cur*/
+	coba->cur= coba->tot - (coba->cur + 1);
+
+	ED_undo_push(C, "Flip colorband");
+
+	rna_update_cb(C, cb_v, NULL);
+}
+
+
 /* offset aligns from bottom, standard width 300, height 115 */
 static void colorband_buttons_large(uiLayout *layout, uiBlock *block, ColorBand *coba, int xoffs, int yoffs, RNAUpdateCb *cb)
 {
@@ -1343,12 +1366,17 @@
 
 	if(coba==NULL) return;
 
-	bt= uiDefBut(block, BUT, 0,	"Add",			0+xoffs,100+yoffs,50,20, 0, 0, 0, 0, 0, "Add a new color stop to the colorband");
+	bt= uiDefBut(block, BUT, 0,	"Add",			0+xoffs,100+yoffs,40,20, 0, 0, 0, 0, 0, "Add a new color stop to the colorband");
 	uiButSetNFunc(bt, colorband_add_cb, MEM_dupallocN(cb), coba);
 
-	bt= uiDefBut(block, BUT, 0,	"Delete",		60+xoffs,100+yoffs,50,20, 0, 0, 0, 0, 0, "Delete the active position");
+	bt= uiDefBut(block, BUT, 0,	"Delete",		45+xoffs,100+yoffs,45,20, 0, 0, 0, 0, 0, "Delete the active position");
 	uiButSetNFunc(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
 
+
+	/* XXX, todo for later - convert to operator - campbell */
+	bt= uiDefBut(block, BUT, 0,	"F",		95+xoffs,100+yoffs,20,20, 0, 0, 0, 0, 0, "Flip colorband");
+	uiButSetNFunc(bt, colorband_flip_cb, MEM_dupallocN(cb), coba);
+
 	uiDefButS(block, NUM, 0,		"",				120+xoffs,100+yoffs,80, 20, &coba->cur, 0.0, (float)(MAX2(0, coba->tot-1)), 0, 0, "Choose active color stop");
 
 	bt= uiDefButS(block, MENU, 0,		"Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4",
@@ -1359,6 +1387,8 @@
 	bt= uiDefBut(block, BUT_COLORBAND, 0, "", 	xoffs,65+yoffs,300,30, coba, 0, 0, 0, 0, "");
 	uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
 
+
+
 	if(coba->tot) {
 		CBData *cbd= coba->data + coba->cur;
 
@@ -1381,8 +1411,10 @@
 	uiBlockBeginAlign(block);
 	bt= uiDefBut(block, BUT, 0,	"Add",			xs,butr->ymin+20.0f,2.0f*unit,20,	NULL, 0, 0, 0, 0, "Add a new color stop to the colorband");
 	uiButSetNFunc(bt, colorband_add_cb, MEM_dupallocN(cb), coba);
-	bt= uiDefBut(block, BUT, 0,	"Delete",		xs+2.0f*unit,butr->ymin+20.0f,2.0f*unit,20,	NULL, 0, 0, 0, 0, "Delete the active position");
+	bt= uiDefBut(block, BUT, 0,	"Delete",		xs+2.0f*unit,butr->ymin+20.0f,1.5f*unit,20,	NULL, 0, 0, 0, 0, "Delete the active position");
 	uiButSetNFunc(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
+	bt= uiDefBut(block, BUT, 0,	"F",		xs+3.5f*unit,butr->ymin+20.0f,0.5f*unit,20,	NULL, 0, 0, 0, 0, "Flip the color ramp");
+	uiButSetNFunc(bt, colorband_flip_cb, MEM_dupallocN(cb), coba);
 	uiBlockEndAlign(block);
 
 	if(coba->tot) {

Copied: branches/render25/source/blender/makesrna/rna_cleanup (from rev 29775, trunk/blender/source/blender/makesrna/rna_cleanup)

Deleted: branches/render25/source/blender/makesrna/rna_cleanup/rna_api_cleanup.txt
===================================================================
--- trunk/blender/source/blender/makesrna/rna_cleanup/rna_api_cleanup.txt	2010-06-28 16:52:57 UTC (rev 29775)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list