[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