Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2016-10-06 04:09:46 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2016-10-06 04:12:04 +0300
commit5a0f397eaa6b5c05a6d312617eeebd96e977fa80 (patch)
tree5407e6d916c4cb2d7add216fbf875c7fa2acf085 /intern/mikktspace
parent3caa830c113ffc576f9b6d41365adc7799a1075c (diff)
Fix T49523: very slow normal map tangent computation for rendering in 2.78.
Diffstat (limited to 'intern/mikktspace')
-rw-r--r--intern/mikktspace/mikktspace.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/intern/mikktspace/mikktspace.c b/intern/mikktspace/mikktspace.c
index 8d51816b132..0342ae0146f 100644
--- a/intern/mikktspace/mikktspace.c
+++ b/intern/mikktspace/mikktspace.c
@@ -579,13 +579,16 @@ static void MergeVertsFast(int piTriList_in_and_out[], STmpVert pTmpVert[], cons
{
// make bbox
int c=0, l=0, channel=0;
- float fvMin[3] = {INFINITY, INFINITY, INFINITY};
- float fvMax[3] = {-INFINITY, -INFINITY, -INFINITY};
+ float fvMin[3], fvMax[3];
float dx=0, dy=0, dz=0, fSep=0;
- for (l=iL_in; l<=iR_in; l++)
- for (c=0; c<3; c++)
+ for (c=0; c<3; c++)
+ { fvMin[c]=pTmpVert[iL_in].vert[c]; fvMax[c]=fvMin[c]; }
+ for (l=(iL_in+1); l<=iR_in; l++) {
+ for (c=0; c<3; c++) {
if (fvMin[c]>pTmpVert[l].vert[c]) fvMin[c]=pTmpVert[l].vert[c];
- else if (fvMax[c]<pTmpVert[l].vert[c]) fvMax[c]=pTmpVert[l].vert[c];
+ if (fvMax[c]<pTmpVert[l].vert[c]) fvMax[c]=pTmpVert[l].vert[c];
+ }
+ }
dx = fvMax[0]-fvMin[0];
dy = fvMax[1]-fvMin[1];