Commit: 61755072665a76712a5dce98dfd00b53affe2c5a
Author: Campbell Barton
Date:   Sat Feb 28 03:36:54 2015 +1100
Branches: temp-mball-refactor
https://developer.blender.org/rB61755072665a76712a5dce98dfd00b53affe2c5a

correct ifdef'd accumulation normal ifdef

===================================================================

M       source/blender/blenkernel/intern/mball_tessellate.c

===================================================================

diff --git a/source/blender/blenkernel/intern/mball_tessellate.c 
b/source/blender/blenkernel/intern/mball_tessellate.c
index 62b3b29..3edb6aa 100644
--- a/source/blender/blenkernel/intern/mball_tessellate.c
+++ b/source/blender/blenkernel/intern/mball_tessellate.c
@@ -55,6 +55,9 @@
 
 #include "BLI_strict_flags.h"
 
+/* experimental (faster) normal calculation */
+// #define USE_ACCUM_NORMAL
+
 /* Data types */
 
 typedef struct corner {         /* corner of a cube */
@@ -391,7 +394,7 @@ static void make_face(PROCESS *process, int i1, int i2, int 
i3, int i4)
 {
        int *cur;
 
-#ifdef MB_ACCUM_NORMAL
+#ifdef USE_ACCUM_NORMAL
        float n[3];
 #endif
 
@@ -415,18 +418,18 @@ static void make_face(PROCESS *process, int i1, int i2, 
int i3, int i4)
                cur[3] = i4;
        }
 
-#ifdef MB_ACCUM_NORMAL
+#ifdef USE_ACCUM_NORMAL
        if (i4 == 0) {
-               normal_tri_v3(n, &process->co[i1 * 3], &process->co[i2 * 3], 
&process->co[i3 * 3]);
+               normal_tri_v3(n, process->co[i1], process->co[i2], 
process->co[i3]);
                accumulate_vertex_normals(
-                       &process->no[i1 * 3], &process->no[i2 * 3], 
&process->no[i3 * 3], NULL, n,
-                       &process->co[i1 * 3], &process->co[i2 * 3], 
&process->co[i3 * 3], NULL);
+                       process->no[i1], process->no[i2], process->no[i3], 
NULL, n,
+                       process->co[i1], process->co[i2], process->co[i3], 
NULL);
        }
        else {
-               normal_quad_v3(n, &process->co[i1 * 3], &process->co[i2 * 3], 
&process->co[i3 * 3], &process->co[i4 * 3]);
+               normal_quad_v3(n, process->co[i1], process->co[i2], 
process->co[i3], process->co[i4]);
                accumulate_vertex_normals(
-                       &process->no[i1 * 3], &process->no[i2 * 3], 
&process->no[i3 * 3], &process->no[i4 * 3], n,
-                       &process->co[i1 * 3], &process->co[i2 * 3], 
&process->co[i3 * 3], &process->co[i4 * 3]);
+                       process->no[i1], process->no[i2], process->no[i3], 
process->no[i4], n,
+                       process->co[i1], process->co[i2], process->co[i3], 
process->co[i4]);
        }
 #endif
 
@@ -839,6 +842,7 @@ static void addtovertices(PROCESS *process, const float 
v[3], const float no[3])
        process->curvertex++;
 }
 
+#ifndef USE_ACCUM_NORMAL
 /**
  * Computes normal from density field at given point.
  *
@@ -874,6 +878,7 @@ static void vnormal(PROCESS *process, const float point[3], 
float r_no[3])
        }
 #endif
 }
+#endif  /* USE_ACCUM_NORMAL */
 
 /**
  * \return the id of vertex between two corners.
@@ -889,8 +894,8 @@ static int vertid(PROCESS *process, const CORNER *c1, const 
CORNER *c2)
 
        converge(process, c1, c2, v);  /* position */
 
-#ifdef MB_ACCUM_NORMAL
-       no[0] = no[1] = no[2] = 0.0f;
+#ifdef USE_ACCUM_NORMAL
+       zero_v3(no);
 #else
        vnormal(process, v, no);
 #endif

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to