[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41589] trunk/blender/source/blender/ render/intern/source: replace macros with math functions for render code

Campbell Barton ideasman42 at gmail.com
Sun Nov 6 15:36:38 CET 2011


Revision: 41589
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41589
Author:   campbellbarton
Date:     2011-11-06 14:36:37 +0000 (Sun, 06 Nov 2011)
Log Message:
-----------
replace macros with math functions for render code

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/convertblender.c
    trunk/blender/source/blender/render/intern/source/occlusion.c
    trunk/blender/source/blender/render/intern/source/render_texture.c
    trunk/blender/source/blender/render/intern/source/volume_precache.c

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2011-11-06 14:09:08 UTC (rev 41588)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2011-11-06 14:36:37 UTC (rev 41589)
@@ -478,11 +478,11 @@
 	
 	if(do_tangent) {
 		tav= RE_vertren_get_tangent(obr, v1, 1);
-		VECADD(tav, tav, tang);
+		add_v3_v3(tav, tang);
 		tav= RE_vertren_get_tangent(obr, v2, 1);
-		VECADD(tav, tav, tang);
+		add_v3_v3(tav, tang);
 		tav= RE_vertren_get_tangent(obr, v3, 1);
-		VECADD(tav, tav, tang);
+		add_v3_v3(tav, tang);
 	}
 	
 	if(do_nmap_tangent) {
@@ -496,11 +496,11 @@
 		
 		if(do_tangent) {
 			tav= RE_vertren_get_tangent(obr, v1, 1);
-			VECADD(tav, tav, tang);
+			add_v3_v3(tav, tang);
 			tav= RE_vertren_get_tangent(obr, v3, 1);
-			VECADD(tav, tav, tang);
+			add_v3_v3(tav, tang);
 			tav= RE_vertren_get_tangent(obr, v4, 1);
-			VECADD(tav, tav, tang);
+			add_v3_v3(tav, tang);
 		}
 
 		if(do_nmap_tangent) {
@@ -1357,20 +1357,20 @@
 
 	psys_make_billboard(bb, xvec, yvec, zvec, bb_center);
 
-	VECADD(vlr->v1->co, bb_center, xvec);
-	VECADD(vlr->v1->co, vlr->v1->co, yvec);
+	add_v3_v3v3(vlr->v1->co, bb_center, xvec);
+	add_v3_v3(vlr->v1->co, yvec);
 	mul_m4_v3(re->viewmat, vlr->v1->co);
 
-	VECSUB(vlr->v2->co, bb_center, xvec);
-	VECADD(vlr->v2->co, vlr->v2->co, yvec);
+	sub_v3_v3v3(vlr->v2->co, bb_center, xvec);
+	add_v3_v3(vlr->v2->co, yvec);
 	mul_m4_v3(re->viewmat, vlr->v2->co);
 
-	VECSUB(vlr->v3->co, bb_center, xvec);
-	VECSUB(vlr->v3->co, vlr->v3->co, yvec);
+	sub_v3_v3v3(vlr->v3->co, bb_center, xvec);
+	sub_v3_v3v3(vlr->v3->co, vlr->v3->co, yvec);
 	mul_m4_v3(re->viewmat, vlr->v3->co);
 
-	VECADD(vlr->v4->co, bb_center, xvec);
-	VECSUB(vlr->v4->co, vlr->v4->co, yvec);
+	add_v3_v3v3(vlr->v4->co, bb_center, xvec);
+	sub_v3_v3(vlr->v4->co, yvec);
 	mul_m4_v3(re->viewmat, vlr->v4->co);
 
 	normal_quad_v3( vlr->n,vlr->v4->co, vlr->v3->co, vlr->v2->co, vlr->v1->co);
@@ -1968,8 +1968,8 @@
 					if(k==1){
 						sd.first = 1;
 						sd.time = 0.0f;
-						VECSUB(loc0,loc1,loc);
-						VECADD(loc0,loc1,loc0);
+						sub_v3_v3v3(loc0,loc1,loc);
+						add_v3_v3v3(loc0,loc1,loc0);
 
 						particle_curve(re, obr, psmd->dm, ma, &sd, loc1, loc0, seed, pa_co);
 					}
@@ -3475,7 +3475,7 @@
 											float * ftang = RE_vlakren_get_nmap_tangent(obr, vlr, 1);
 											for(vindex=0; vindex<nr_verts; vindex++)
 											{
-												QUATCOPY(ftang+vindex*4, tangent+a*16+rev_tab[vindex]*4);
+												copy_v4_v4(ftang+vindex*4, tangent+a*16+rev_tab[vindex]*4);
 												mul_mat3_m4_v3(mat, ftang+vindex*4);
 												normalize_v3(ftang+vindex*4);
 											}
@@ -3579,7 +3579,7 @@
 	
 	if(shb==NULL) return;
 	
-	VECCOPY(shb->co, lar->co);
+	VECCOPY(shb->co, lar->co); /* int copy */
 	
 	/* percentage render: keep track of min and max */
 	shb->size= (lar->bufsize*re->r.size)/100;
@@ -4190,7 +4190,7 @@
 			v2= vlr->v2;
 			v3= vlr->v3;
 			v4= vlr->v4;
-			VECSUB(nor, v1->co, v2->co);
+			sub_v3_v3v3(nor, v1->co, v2->co);
 			if( ABS(nor[0])<FLT_EPSILON10 &&  ABS(nor[1])<FLT_EPSILON10 && ABS(nor[2])<FLT_EPSILON10 ) {
 				vlr->v1= v2;
 				vlr->v2= v3;
@@ -4198,19 +4198,19 @@
 				vlr->v4= NULL;
 			}
 			else {
-				VECSUB(nor, v2->co, v3->co);
+				sub_v3_v3v3(nor, v2->co, v3->co);
 				if( ABS(nor[0])<FLT_EPSILON10 &&  ABS(nor[1])<FLT_EPSILON10 && ABS(nor[2])<FLT_EPSILON10 ) {
 					vlr->v2= v3;
 					vlr->v3= v4;
 					vlr->v4= NULL;
 				}
 				else {
-					VECSUB(nor, v3->co, v4->co);
+					sub_v3_v3v3(nor, v3->co, v4->co);
 					if( ABS(nor[0])<FLT_EPSILON10 &&  ABS(nor[1])<FLT_EPSILON10 && ABS(nor[2])<FLT_EPSILON10 ) {
 						vlr->v4= NULL;
 					}
 					else {
-						VECSUB(nor, v4->co, v1->co);
+						sub_v3_v3v3(nor, v4->co, v1->co);
 						if( ABS(nor[0])<FLT_EPSILON10 &&  ABS(nor[1])<FLT_EPSILON10 && ABS(nor[2])<FLT_EPSILON10 ) {
 							vlr->v4= NULL;
 						}
@@ -5397,12 +5397,12 @@
 
 					interp_weights_face_v3( w,co1, co2, co3, co4, strand->vert->co);
 
-					speed[0]= speed[1]= speed[2]= speed[3]= 0.0f;
-					QUATADDFAC(speed, speed, winspeed[face[0]], w[0]);
-					QUATADDFAC(speed, speed, winspeed[face[1]], w[1]);
-					QUATADDFAC(speed, speed, winspeed[face[2]], w[2]);
+					zero_v4(speed);
+					madd_v4_v4fl(speed, winspeed[face[0]], w[0]);
+					madd_v4_v4fl(speed, winspeed[face[1]], w[1]);
+					madd_v4_v4fl(speed, winspeed[face[2]], w[2]);
 					if(face[3])
-						QUATADDFAC(speed, speed, winspeed[face[3]], w[3]);
+						madd_v4_v4fl(speed, winspeed[face[3]], w[3]);
 				}
 			}
 

Modified: trunk/blender/source/blender/render/intern/source/occlusion.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/occlusion.c	2011-11-06 14:09:08 UTC (rev 41588)
+++ trunk/blender/source/blender/render/intern/source/occlusion.c	2011-11-06 14:36:37 UTC (rev 41589)
@@ -172,7 +172,7 @@
 	shade_input_set_triangle_i(shi, obi, vlr, 0, 1, 2);
 
 	/* set up view vector */
-	VECCOPY(shi->view, shi->co);
+	copy_v3_v3(shi->view, shi->co);
 	normalize_v3(shi->view);
 	
 	/* cache for shadow */
@@ -205,7 +205,7 @@
 	shade_input_set_shade_texco(shi);
 	shade_material_loop(shi, shr); /* todo: nodes */
 	
-	VECCOPY(rad, shr->combined);
+	copy_v3_v3(rad, shr->combined);
 }
 
 static void occ_build_shade(Render *re, OcclusionTree *tree)
@@ -339,10 +339,10 @@
 	}
 
 	if(area) {
-		VECCOPY(v1, vlr->v1->co);
-		VECCOPY(v2, vlr->v2->co);
-		VECCOPY(v3, vlr->v3->co);
-		if(vlr->v4) VECCOPY(v4, vlr->v4->co);
+		copy_v3_v3(v1, vlr->v1->co);
+		copy_v3_v3(v2, vlr->v2->co);
+		copy_v3_v3(v3, vlr->v3->co);
+		if(vlr->v4) copy_v3_v3(v4, vlr->v4->co);
 
 		if(obi->flag & R_TRANSFORMED) {
 			mul_m4_v3(obi->mat, v1);
@@ -439,14 +439,14 @@
 		else if(node->child[b].node) {
 			OccNode *child= node->child[b].node;
 			occ_build_dco(tree, child, co, dco);
-			VECCOPY(nco, child->co);
+			copy_v3_v3(nco, child->co);
 		}
 		else {
 			continue;
 		}
 
-		VECSUB(d, nco, co);
-		dist= INPR(d, d);
+		sub_v3_v3v3(d, nco, co);
+		dist= dot_v3v3(d, d);
 		if(dist > *dco)
 			*dco= dist;
 	}
@@ -604,7 +604,7 @@
 		if(child) {
 			node->area += child->area;
 			sh_add(node->sh, node->sh, child->sh);
-			VECADDFAC(node->co, node->co, child->co, child->area);
+			madd_v3_v3fl(node->co, child->co, child->area);
 		}
 	}
 
@@ -745,7 +745,7 @@
 
 /* ------------------------- Traversal --------------------------- */
 
-static float occ_solid_angle(OccNode *node, float *v, float d2, float invd2, float *receivenormal)
+static float occ_solid_angle(OccNode *node, const float v[3], float d2, float invd2, const float receivenormal[3])
 {
 	float dotreceive, dotemit;
 	float ev[3];
@@ -754,7 +754,7 @@
 	ev[1]= -v[1]*invd2;
 	ev[2]= -v[2]*invd2;
 	dotemit= sh_eval(node->sh, ev);
-	dotreceive= INPR(receivenormal, v)*invd2;
+	dotreceive= dot_v3v3(receivenormal, v)*invd2;
 
 	CLAMP(dotemit, 0.0f, 1.0f);
 	CLAMP(dotreceive, 0.0f, 1.0f);
@@ -762,24 +762,24 @@
 	return ((node->area*dotemit*dotreceive)/(d2 + node->area*INVPI))*INVPI;
 }
 
-static void VecAddDir(float *result, float *v1, float *v2, float fac)
+static void VecAddDir(float result[3], const float v1[3], const float v2[3], const float fac)
 {
 	result[0]= v1[0] + fac*(v2[0] - v1[0]);
 	result[1]= v1[1] + fac*(v2[1] - v1[1]);
 	result[2]= v1[2] + fac*(v2[2] - v1[2]);
 }
 
-static int occ_visible_quad(float *p, float *n, float *v0, float *v1, float *v2, float *q0, float *q1, float *q2, float *q3)
+static int occ_visible_quad(float *p, const float n[3], const float v0[3], const float *v1, const float *v2, float q0[3], float q1[3], float q2[3], float q3[3])
 {
 	static const float epsilon = 1e-6f;
 	float c, sd[3];
 	
-	c= INPR(n, p);
+	c= dot_v3v3(n, p);
 
 	/* signed distances from the vertices to the plane. */
-	sd[0]= INPR(n, v0) - c;
-	sd[1]= INPR(n, v1) - c;
-	sd[2]= INPR(n, v2) - c;
+	sd[0]= dot_v3v3(n, v0) - c;
+	sd[1]= dot_v3v3(n, v1) - c;
+	sd[2]= dot_v3v3(n, v2) - c;
 
 	if(fabsf(sd[0]) < epsilon) sd[0] = 0.0f;
 	if(fabsf(sd[1]) < epsilon) sd[1] = 0.0f;
@@ -789,70 +789,70 @@
 		if(sd[1] > 0) {
 			if(sd[2] > 0) {
 				// +++
-				VECCOPY(q0, v0);
-				VECCOPY(q1, v1);
-				VECCOPY(q2, v2);
-				VECCOPY(q3, q2);
+				copy_v3_v3(q0, v0);
+				copy_v3_v3(q1, v1);
+				copy_v3_v3(q2, v2);
+				copy_v3_v3(q3, q2);
 			}
 			else if(sd[2] < 0) {
 				// ++-
-				VECCOPY(q0, v0);
-				VECCOPY(q1, v1);
+				copy_v3_v3(q0, v0);
+				copy_v3_v3(q1, v1);
 				VecAddDir(q2, v1, v2, (sd[1]/(sd[1]-sd[2])));
 				VecAddDir(q3, v0, v2, (sd[0]/(sd[0]-sd[2])));
 			}
 			else {
 				// ++0
-				VECCOPY(q0, v0);
-				VECCOPY(q1, v1);
-				VECCOPY(q2, v2);
-				VECCOPY(q3, q2);
+				copy_v3_v3(q0, v0);
+				copy_v3_v3(q1, v1);
+				copy_v3_v3(q2, v2);
+				copy_v3_v3(q3, q2);
 			}
 		}
 		else if(sd[1] < 0) {
 			if(sd[2] > 0) {
 				// +-+
-				VECCOPY(q0, v0);
+				copy_v3_v3(q0, v0);
 				VecAddDir(q1, v0, v1, (sd[0]/(sd[0]-sd[1])));
 				VecAddDir(q2, v1, v2, (sd[1]/(sd[1]-sd[2])));
-				VECCOPY(q3, v2);
+				copy_v3_v3(q3, v2);
 			}
 			else if(sd[2] < 0) {
 				// +--
-				VECCOPY(q0, v0);
+				copy_v3_v3(q0, v0);
 				VecAddDir(q1, v0, v1, (sd[0]/(sd[0]-sd[1])));
 				VecAddDir(q2, v0, v2, (sd[0]/(sd[0]-sd[2])));
-				VECCOPY(q3, q2);
+				copy_v3_v3(q3, q2);
 			}
 			else {
 				// +-0
-				VECCOPY(q0, v0);
+				copy_v3_v3(q0, v0);
 				VecAddDir(q1, v0, v1, (sd[0]/(sd[0]-sd[1])));
-				VECCOPY(q2, v2);
-				VECCOPY(q3, q2);
+				copy_v3_v3(q2, v2);
+				copy_v3_v3(q3, q2);
 			}
 		}
 		else {
 			if(sd[2] > 0) {
 				// +0+
-				VECCOPY(q0, v0);
-				VECCOPY(q1, v1);
-				VECCOPY(q2, v2);
-				VECCOPY(q3, q2);
+				copy_v3_v3(q0, v0);
+				copy_v3_v3(q1, v1);
+				copy_v3_v3(q2, v2);
+				copy_v3_v3(q3, q2);
 			}
 			else if(sd[2] < 0) {
 				// +0-
-				VECCOPY(q0, v0);
-				VECCOPY(q1, v1);
+				copy_v3_v3(q0, v0);
+				copy_v3_v3(q1, v1);
 				VecAddDir(q2, v0, v2, (sd[0]/(sd[0]-sd[2])));
-				VECCOPY(q3, q2);
+				copy_v3_v3(q3, q2);
 			}
 			else {
 				// +00
-				VECCOPY(q0, v0);
-				VECCOPY(q1, v1);
-				VECCOPY(q2, v2);
-				VECCOPY(q3, q2);
+				copy_v3_v3(q0, v0);
+				copy_v3_v3(q1, v1);
+				copy_v3_v3(q2, v2);
+				copy_v3_v3(q3, q2);
 			}
 		}
 	}
@@ -861,23 +861,23 @@
 			if(sd[2] > 0) {
 				// -++
 				VecAddDir(q0, v0, v1, (sd[0]/(sd[0]-sd[1])));
-				VECCOPY(q1, v1);
-				VECCOPY(q2, v2);
+				copy_v3_v3(q1, v1);
+				copy_v3_v3(q2, v2);
 				VecAddDir(q3, v0, v2, (sd[0]/(sd[0]-sd[2])));
 			}
 			else if(sd[2] < 0) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list