[Bf-blender-cvs] [87bc068] opensubdiv-modifier: Merge branch 'master' into opensubdiv-modifier
Sergey Sharybin
noreply at git.blender.org
Mon Jul 6 13:39:41 CEST 2015
Commit: 87bc068fee838545126c1bd3365cead0984f81c3
Author: Sergey Sharybin
Date: Mon Jul 6 13:39:17 2015 +0200
Branches: opensubdiv-modifier
https://developer.blender.org/rB87bc068fee838545126c1bd3365cead0984f81c3
Merge branch 'master' into opensubdiv-modifier
Conflicts:
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/makesrna/intern/rna_userdef.c
===================================================================
===================================================================
diff --cc source/blender/blenkernel/intern/DerivedMesh.c
index 2b327f6,7ced227..311c679
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@@ -1496,12 -1563,13 +1563,14 @@@ static void dm_ensure_display_normals(D
* - don't apply the key
* - apply deform modifiers and input vertexco
*/
- static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos)[3],
- DerivedMesh **deform_r, DerivedMesh **final_r,
- int useRenderParams, int useDeform,
- int needMapping, CustomDataMask dataMask,
- int index, int useCache, int build_shapekey_layers,
- bool allow_gpu)
+ static void mesh_calc_modifiers(
+ Scene *scene, Object *ob, float (*inputVertexCos)[3],
+ const bool useRenderParams, int useDeform,
+ const bool need_mapping, CustomDataMask dataMask,
+ const int index, const bool useCache, const bool build_shapekey_layers,
++ const bool allow_gpu,
+ /* return args */
+ DerivedMesh **r_deform, DerivedMesh **r_final)
{
Mesh *me = ob->data;
ModifierData *firstmd, *md, *previewmd = NULL;
@@@ -1538,10 -1606,10 +1607,12 @@@
ModifierApplyFlag app_flags = useRenderParams ? MOD_APPLY_RENDER : 0;
ModifierApplyFlag deform_app_flags = app_flags;
+
+
if (useCache)
app_flags |= MOD_APPLY_USECACHE;
+ if (allow_gpu)
+ app_flags |= MOD_APPLY_ALLOW_GPU;
if (useDeform)
deform_app_flags |= MOD_APPLY_USECACHE;
@@@ -2059,21 -2135,10 +2155,21 @@@ static void editbmesh_calc_modifiers
const bool do_loop_normals = (((Mesh *)(ob->data))->flag & ME_AUTOSMOOTH) != 0;
const float loop_normals_split_angle = ((Mesh *)(ob->data))->smoothresh;
+#ifdef WITH_OPENSUBDIV
+ {
+ ModifierData *last_md = ob->modifiers.last;
+ if (last_md != NULL &&
+ last_md->type == eModifierType_Subsurf)
+ {
+ dataMask &= ~CD_MASK_ORCO;
+ }
+ }
+#endif
+
modifiers_clearErrors(ob);
- if (cage_r && cageIndex == -1) {
- *cage_r = getEditDerivedBMesh(em, ob, NULL);
+ if (r_cage && cageIndex == -1) {
+ *r_cage = getEditDerivedBMesh(em, ob, NULL);
}
md = modifiers_getVirtualModifierList(ob, &virtualModifierData);
@@@ -2330,10 -2400,9 +2431,10 @@@ static void mesh_build_data
BKE_object_free_derived_caches(ob);
BKE_object_sculpt_modifiers_changed(ob);
- mesh_calc_modifiers(scene, ob, NULL, &ob->derivedDeform,
- &ob->derivedFinal, 0, 1,
- needMapping, dataMask, -1, 1, build_shapekey_layers,
- true);
+ mesh_calc_modifiers(
+ scene, ob, NULL, false, 1, need_mapping, dataMask, -1, true, build_shapekey_layers,
++ true,
+ &ob->derivedDeform, &ob->derivedFinal);
DM_set_object_boundbox(ob, ob->derivedFinal);
@@@ -2455,7 -2538,9 +2570,9 @@@ DerivedMesh *mesh_create_derived_render
{
DerivedMesh *final;
- mesh_calc_modifiers(scene, ob, NULL, NULL, &final, 1, 1, 0, dataMask, -1, 0, 0, false);
+ mesh_calc_modifiers(
- scene, ob, NULL, true, 1, false, dataMask, -1, false, false,
++ scene, ob, NULL, true, 1, false, dataMask, -1, false, false, false,
+ NULL, &final);
return final;
}
@@@ -2463,8 -2548,10 +2580,10 @@@
DerivedMesh *mesh_create_derived_index_render(Scene *scene, Object *ob, CustomDataMask dataMask, int index)
{
DerivedMesh *final;
-
- mesh_calc_modifiers(scene, ob, NULL, NULL, &final, 1, 1, 0, dataMask, index, 0, 0, false);
+
+ mesh_calc_modifiers(
- scene, ob, NULL, true, 1, false, dataMask, index, false, false,
++ scene, ob, NULL, true, 1, false, dataMask, index, false, false, false,
+ NULL, &final);
return final;
}
@@@ -2479,7 -2568,9 +2600,9 @@@ DerivedMesh *mesh_create_derived_view
*/
ob->transflag |= OB_NO_PSYS_UPDATE;
- mesh_calc_modifiers(scene, ob, NULL, NULL, &final, 0, 1, 0, dataMask, -1, 0, 0, false);
+ mesh_calc_modifiers(
- scene, ob, NULL, false, 1, false, dataMask, -1, false, false,
++ scene, ob, NULL, false, 1, false, dataMask, -1, false, false, false,
+ NULL, &final);
ob->transflag &= ~OB_NO_PSYS_UPDATE;
@@@ -2491,7 -2583,9 +2615,9 @@@ DerivedMesh *mesh_create_derived_no_def
{
DerivedMesh *final;
- mesh_calc_modifiers(scene, ob, vertCos, NULL, &final, 0, 0, 0, dataMask, -1, 0, 0, false);
+ mesh_calc_modifiers(
- scene, ob, vertCos, false, 0, false, dataMask, -1, false, false,
++ scene, ob, vertCos, false, 0, false, dataMask, -1, false, false, false,
+ NULL, &final);
return final;
}
@@@ -2501,7 -2596,9 +2628,9 @@@ DerivedMesh *mesh_create_derived_no_vir
{
DerivedMesh *final;
- mesh_calc_modifiers(scene, ob, vertCos, NULL, &final, 0, -1, 0, dataMask, -1, 0, 0, false);
+ mesh_calc_modifiers(
- scene, ob, vertCos, false, -1, false, dataMask, -1, false, false,
++ scene, ob, vertCos, false, -1, false, dataMask, -1, false, false, false,
+ NULL, &final);
return final;
}
@@@ -2511,7 -2609,9 +2641,9 @@@ DerivedMesh *mesh_create_derived_physic
{
DerivedMesh *final;
- mesh_calc_modifiers(scene, ob, vertCos, NULL, &final, 0, -1, 1, dataMask, -1, 0, 0, false);
+ mesh_calc_modifiers(
- scene, ob, vertCos, false, -1, true, dataMask, -1, false, false,
++ scene, ob, vertCos, false, -1, true, dataMask, -1, false, false, false,
+ NULL, &final);
return final;
}
@@@ -2522,7 -2623,9 +2655,9 @@@ DerivedMesh *mesh_create_derived_no_def
{
DerivedMesh *final;
- mesh_calc_modifiers(scene, ob, vertCos, NULL, &final, 1, 0, 0, dataMask, -1, 0, 0, false);
+ mesh_calc_modifiers(
- scene, ob, vertCos, true, 0, false, dataMask, -1, false, false,
++ scene, ob, vertCos, true, 0, false, dataMask, -1, false, false, false,
+ NULL, &final);
return final;
}
diff --cc source/blender/makesrna/intern/rna_userdef.c
index 9212c49,9604f64..9adb1c1
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@@ -118,12 -104,6 +117,10 @@@ EnumPropertyItem navigation_mode_items[
#include "CCL_api.h"
+#ifdef WITH_OPENSUBDIV
+# include "opensubdiv_capi.h"
+#endif
+
- #include "BKE_addon.h"
-
#ifdef WITH_SDL_DYNLOAD
# include "sdlew.h"
#endif
More information about the Bf-blender-cvs
mailing list