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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-04-03 16:37:30 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-04-03 16:38:17 +0300
commitb1995e645177fa7f5f5ef8d5c7596cd037dbcc30 (patch)
tree26ceef51d9ec18955d4edd3bbec94c3daeebdd2e /source/blender/blenkernel/intern/mesh_convert.c
parent2f8b7030d439644bab94fe601066e7a1c848367a (diff)
Fix T63217: Curve Modifier skipped in Cycles
Only mesh objects have all modifiers applied on the evaluated object's data, other object types are to apply modifiers during the conversion process.
Diffstat (limited to 'source/blender/blenkernel/intern/mesh_convert.c')
-rw-r--r--source/blender/blenkernel/intern/mesh_convert.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mesh_convert.c b/source/blender/blenkernel/intern/mesh_convert.c
index f9ab61f1a31..664698afa38 100644
--- a/source/blender/blenkernel/intern/mesh_convert.c
+++ b/source/blender/blenkernel/intern/mesh_convert.c
@@ -872,7 +872,16 @@ Mesh *BKE_mesh_new_from_object(
Object object_for_eval = *object_eval;
if (object_eval == object_input) {
- effective_apply_modifiers = false;
+ /* Evaluated mesh contains all modifiers applied already.
+ * The other types of object has them applied, but are stored in other
+ * data structures than a mesh. So need to apply modifiers again on a
+ * temporary copy before converting result to mesh. */
+ if (object_for_eval.type == OB_MESH) {
+ effective_apply_modifiers = false;
+ }
+ else {
+ effective_apply_modifiers = true;
+ }
}
else {
if (apply_modifiers) {