Divide by 3 instead of multiplying by variations of 0.333
Fixes small precision problems.
This commit is contained in:
@@ -562,7 +562,7 @@ int closest_point_on_surface(SurfaceModifierData *surmd, const float co[3], floa
|
||||
if (mface->v4)
|
||||
add_v3_v3(surface_vel, surmd->v[mface->v4].co);
|
||||
|
||||
mul_v3_fl(surface_vel, mface->v4 ? 0.25f : 0.333f);
|
||||
mul_v3_fl(surface_vel, mface->v4 ? 0.25f : (1.0f / 3.0f));
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -912,7 +912,7 @@ void outside_lattice(Lattice *lt)
|
||||
bp->vec[1] += (1.0f - fac1) * bp1->vec[1] + fac1 * bp2->vec[1];
|
||||
bp->vec[2] += (1.0f - fac1) * bp1->vec[2] + fac1 * bp2->vec[2];
|
||||
|
||||
mul_v3_fl(bp->vec, 0.3333333f);
|
||||
mul_v3_fl(bp->vec, 1.0f / 3.0f);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2013,7 +2013,7 @@ static void ob_parvert3(Object *ob, Object *par, float mat[4][4])
|
||||
else {
|
||||
add_v3_v3v3(mat[3], v1, v2);
|
||||
add_v3_v3(mat[3], v3);
|
||||
mul_v3_fl(mat[3], 0.3333333f);
|
||||
mul_v3_fl(mat[3], 1.0f / 3.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -802,7 +802,7 @@ static void distribute_threads_exec(ParticleThread *thread, ParticleData *pa, Ch
|
||||
if (mface->v4)
|
||||
psys_uv_to_w(0.5f, 0.5f, mface->v4, pa->fuv);
|
||||
else
|
||||
psys_uv_to_w(0.33333f, 0.33333f, mface->v4, pa->fuv);
|
||||
psys_uv_to_w(1.0f / 3.0f, 1.0f / 3.0f, mface->v4, pa->fuv);
|
||||
}
|
||||
else {
|
||||
ctx->jitoff[i] = fmod(ctx->jitoff[i],(float)ctx->jitlevel);
|
||||
|
||||
Reference in New Issue
Block a user