[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