diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-05-05 09:56:41 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-05-05 09:56:41 +0400 |
commit | 62087935ec92e24bce362489cadc944bc256e8cc (patch) | |
tree | b8056f1bfebd2812a5a8ed6120ba168ee79bd28f /source/blender/makesrna/intern/rna_main_api.c | |
parent | 998b9241bedea82f4501b4c4e5453d7becb07d3e (diff) |
Fix #35209: cycles generated texture coordinates did not stick to deforming meshes.
Diffstat (limited to 'source/blender/makesrna/intern/rna_main_api.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_main_api.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index 5d554f4393c..1e77a799cd4 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -276,7 +276,7 @@ static Mesh *rna_Main_meshes_new(Main *bmain, const char *name) /* settings: 1 - preview, 2 - render */ Mesh *rna_Main_meshes_new_from_object( Main *bmain, ReportList *reports, Scene *sce, - Object *ob, int apply_modifiers, int settings, int calc_tessface) + Object *ob, int apply_modifiers, int settings, int calc_tessface, int calc_undeformed) { Mesh *tmpmesh; Curve *tmpcu = NULL, *copycu; @@ -379,6 +379,9 @@ Mesh *rna_Main_meshes_new_from_object( CustomDataMask mask = CD_MASK_MESH; /* this seems more suitable, exporter, * for example, needs CD_MASK_MDEFORMVERT */ + if (calc_undeformed) + mask |= CD_MASK_ORCO; + /* Write the display mesh into the dummy mesh */ if (render) dm = mesh_create_derived_render(sce, ob, mask); @@ -386,7 +389,7 @@ Mesh *rna_Main_meshes_new_from_object( dm = mesh_create_derived_view(sce, ob, mask); tmpmesh = BKE_mesh_add(bmain, "Mesh"); - DM_to_mesh(dm, tmpmesh, ob); + DM_to_mesh(dm, tmpmesh, ob, mask); dm->release(dm); } @@ -1172,6 +1175,7 @@ void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop) parm = RNA_def_enum(func, "settings", mesh_type_items, 0, "", "Modifier settings to apply"); RNA_def_property_flag(parm, PROP_REQUIRED); RNA_def_boolean(func, "calc_tessface", true, "Calculate Tessellation", "Calculate tessellation faces"); + RNA_def_boolean(func, "calc_undeformed", false, "Calculate Undeformed", "Calculate undeformed vertex coordinates"); parm = RNA_def_pointer(func, "mesh", "Mesh", "", "Mesh created from object, remove it if it is only used for export"); RNA_def_function_return(func, parm); |