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
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.
-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) {