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:
authorDalai Felinto <dfelinto@gmail.com>2018-12-05 01:47:13 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-12-05 12:58:58 +0300
commit80ffd7b4597cdb01b3595a22c4e0cc0d8f019471 (patch)
treef154a991900e4f2672fde797b4069d67d7d760e1 /source/blender/blenkernel
parent8e31e67bf5c0a33d6e1aba0c41e6af8d199aebcc (diff)
Implement bvhtree.fromObject
Passing depsgraph instead of scene, since a scene does not fully define the state of object you want to use for the BVH. Also, mesh_create_eval_final_view and mesh_create_eval_final_render are pretty much the same, so mesh_create_eval_no_deform and mesh_create_eval_no_deform_render are as well. Issue reported on: T58734 Reviewers: sergey https://developer.blender.org/D4032
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_DerivedMesh.h8
-rw-r--r--source/blender/blenkernel/BKE_mesh_runtime.h10
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c19
3 files changed, 26 insertions, 11 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index baec7e77328..e209938cc80 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -504,14 +504,6 @@ DerivedMesh *mesh_create_derived_render(
/* same as above but wont use render settings */
DerivedMesh *mesh_create_derived(struct Mesh *me, float (*vertCos)[3]);
-DerivedMesh *mesh_create_derived_no_deform(
- struct Depsgraph *depsgraph, struct Scene *scene,
- struct Object *ob, float (*vertCos)[3],
- CustomDataMask dataMask);
-DerivedMesh *mesh_create_derived_no_deform_render(
- struct Depsgraph *depsgraph, struct Scene *scene,
- struct Object *ob, float (*vertCos)[3],
- CustomDataMask dataMask);
struct Mesh *editbmesh_get_eval_cage(
struct Depsgraph *depsgraph, struct Scene *scene, struct Object *,
diff --git a/source/blender/blenkernel/BKE_mesh_runtime.h b/source/blender/blenkernel/BKE_mesh_runtime.h
index 5d35f798ad7..8f9de85a302 100644
--- a/source/blender/blenkernel/BKE_mesh_runtime.h
+++ b/source/blender/blenkernel/BKE_mesh_runtime.h
@@ -109,6 +109,16 @@ struct Mesh *mesh_create_eval_final_view(
struct Depsgraph *depsgraph, struct Scene *scene,
struct Object *ob, CustomDataMask dataMask);
+struct Mesh *mesh_create_eval_no_deform(
+ struct Depsgraph *depsgraph, struct Scene *scene,
+ struct Object *ob, float (*vertCos)[3],
+ CustomDataMask dataMask);
+struct Mesh *mesh_create_eval_no_deform_render(
+ struct Depsgraph *depsgraph, struct Scene *scene,
+ struct Object *ob, float (*vertCos)[3],
+ CustomDataMask dataMask);
+
+
void BKE_mesh_runtime_eval_to_meshkey(struct Mesh *me_deformed, struct Mesh *me, struct KeyBlock *kb);
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index abad99a4909..aa1966b0053 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -2348,13 +2348,26 @@ Mesh *mesh_create_eval_final_view(
return final;
}
-DerivedMesh *mesh_create_derived_no_deform(
+Mesh *mesh_create_eval_no_deform(
struct Depsgraph *depsgraph, Scene *scene, Object *ob,
float (*vertCos)[3], CustomDataMask dataMask)
{
- DerivedMesh *final;
+ Mesh *final;
- mesh_calc_modifiers_dm(
+ mesh_calc_modifiers(
+ depsgraph, scene, ob, vertCos, 0, false, dataMask, -1, false, false,
+ NULL, &final);
+
+ return final;
+}
+
+Mesh *mesh_create_eval_no_deform_render(
+ struct Depsgraph *depsgraph, Scene *scene, Object *ob,
+ float (*vertCos)[3], CustomDataMask dataMask)
+{
+ Mesh *final;
+
+ mesh_calc_modifiers(
depsgraph, scene, ob, vertCos, 0, false, dataMask, -1, false, false,
NULL, &final);