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:
authorClément Foucault <foucault.clem@gmail.com>2020-05-20 23:56:09 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-05-20 23:56:09 +0300
commit8a0840b0ee9a60a62bf6d1f800d08bf852427fd5 (patch)
tree80344f42e0483345eef48796380dc7e5f229463b /source/blender/blenkernel/intern/fluid.c
parent71fa4601452756f3b4a26b51ec44f13edbf2e9a8 (diff)
parentaf3a55bb1b7d11c3036839d66fcf4280f1dae96b (diff)
Merge branch 'blender-v2.83-release'
# Conflicts: # source/blender/draw/engines/eevee/eevee_volumes.c
Diffstat (limited to 'source/blender/blenkernel/intern/fluid.c')
-rw-r--r--source/blender/blenkernel/intern/fluid.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 1d0a62fd7b5..b75592836e0 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -3306,6 +3306,16 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
/* Biggest dimension will be used for upscaling. */
float max_size = MAX3(size[0], size[1], size[2]);
+ float co_scale[3];
+ co_scale[0] = max_size / ob->scale[0];
+ co_scale[1] = max_size / ob->scale[1];
+ co_scale[2] = max_size / ob->scale[2];
+
+ float co_offset[3];
+ co_offset[0] = (mds->p0[0] + mds->p1[0]) / 2.0f;
+ co_offset[1] = (mds->p0[1] + mds->p1[1]) / 2.0f;
+ co_offset[2] = (mds->p0[2] + mds->p1[2]) / 2.0f;
+
/* Normals. */
normals = MEM_callocN(sizeof(short) * num_normals * 3, "Fluidmesh_tmp_normals");
@@ -3329,9 +3339,9 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *mds, Mesh *orgmesh, Obj
mverts->co[2] *= mds->dx / mds->mesh_scale;
}
- mverts->co[0] *= max_size / fabsf(ob->scale[0]);
- mverts->co[1] *= max_size / fabsf(ob->scale[1]);
- mverts->co[2] *= max_size / fabsf(ob->scale[2]);
+ mul_v3_v3(mverts->co, co_scale);
+ add_v3_v3(mverts->co, co_offset);
+
# ifdef DEBUG_PRINT
/* Debugging: Print coordinates of vertices. */
printf("mverts->co[0]: %f, mverts->co[1]: %f, mverts->co[2]: %f\n",