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

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to