[Bf-blender-cvs] [9468d228448] hair_object: Fix build errors.

Lukas Tönne noreply at git.blender.org
Sun Sep 2 11:15:07 CEST 2018


Commit: 9468d2284485cab21006ee74448230294f8cae02
Author: Lukas Tönne
Date:   Sun Sep 2 10:14:52 2018 +0100
Branches: hair_object
https://developer.blender.org/rB9468d2284485cab21006ee74448230294f8cae02

Fix build errors.

===================================================================

M	intern/cycles/blender/blender_curves.cpp
M	intern/cycles/blender/blender_mesh.cpp
M	intern/cycles/blender/blender_sync.h
M	source/blender/blenkernel/BKE_hair.h
M	source/blender/blenkernel/intern/hair.c
M	source/blender/bmesh/CMakeLists.txt
M	source/blender/bmesh/intern/bmesh_opdefines.c
M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc
M	source/blender/draw/engines/eevee/eevee_materials.c
M	source/blender/draw/engines/workbench/workbench_deferred.c
M	source/blender/draw/engines/workbench/workbench_forward.c
M	source/blender/draw/intern/draw_cache.c
M	source/blender/draw/intern/draw_cache.h
M	source/blender/draw/intern/draw_cache_impl.h
M	source/blender/draw/intern/draw_cache_impl_hair.c
M	source/blender/draw/modes/edit_hair_mode.c
M	source/blender/editors/space_view3d/view3d_iterators.c
M	source/blender/editors/space_view3d/view3d_select.c
M	source/blender/editors/transform/transform_conversions.c
M	source/blender/makesdna/DNA_hair_types.h
M	source/blender/makesrna/intern/rna_hair.c

===================================================================

diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp
index 9bbb92098c8..d27df4237fe 100644
--- a/intern/cycles/blender/blender_curves.cpp
+++ b/intern/cycles/blender/blender_curves.cpp
@@ -296,7 +296,8 @@ static void ObtainCacheVColFromParticleSystem(BL::Mesh *b_mesh,
 	}
 }
 
-static void ObtainCacheDataFromHairSystem(BL::Object *b_ob,
+static void ObtainCacheDataFromHairSystem(BL::Depsgraph& b_depsgraph,
+                                          BL::Object *b_ob,
                                           BL::HairSystem *b_hsys,
                                           BL::Mesh *b_scalp,
                                           bool /*background*/,
@@ -406,6 +407,7 @@ static void ObtainCacheDataFromHairSystem(BL::Object *b_ob,
 }
 
 static bool ObtainCacheDataFromObject(Mesh *mesh,
+                                      BL::Depsgraph& b_depsgraph,
                                       BL::Object *b_ob,
                                       ParticleCurveData *CData,
                                       bool background)
@@ -421,7 +423,8 @@ static bool ObtainCacheDataFromObject(Mesh *mesh,
 		
 		BL::Mesh b_scalp(b_hsys.scalp_object().data());
 		if (b_scalp) {
-			ObtainCacheDataFromHairSystem(b_ob,
+			ObtainCacheDataFromHairSystem(b_depsgraph,
+			                              b_ob,
 			                              &b_hsys,
 			                              &b_scalp,
 			                              background,
@@ -1052,6 +1055,7 @@ void BlenderSync::sync_curve_settings()
 }
 
 void BlenderSync::sync_curves(Mesh *mesh,
+                              BL::Depsgraph& b_depsgraph,
                               BL::Mesh& b_mesh,
                               BL::Object& b_ob,
                               bool motion,
@@ -1086,7 +1090,7 @@ void BlenderSync::sync_curves(Mesh *mesh,
 
 	ParticleCurveData CData;
 
-	ObtainCacheDataFromObject(mesh, &b_ob, &CData, !preview);
+	ObtainCacheDataFromObject(mesh, b_depsgraph, &b_ob, &CData, !preview);
 
 	/* add hair geometry to mesh */
 	if(primitive == CURVE_TRIANGLES) {
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index 1d0e8fc6ace..062356fb01f 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -1191,7 +1191,7 @@ Mesh *BlenderSync::sync_mesh(BL::Depsgraph& b_depsgraph,
 		}
 
 		if(view_layer.use_hair && mesh->subdivision_type == Mesh::SUBDIVISION_NONE)
-			sync_curves(mesh, b_mesh, b_ob, false);
+			sync_curves(mesh, b_depsgraph, b_mesh, b_ob, false);
 
 		if(b_mesh) {
 			/* free derived mesh */
@@ -1369,7 +1369,7 @@ void BlenderSync::sync_mesh_motion(BL::Depsgraph& b_depsgraph,
 
 	/* hair motion */
 	if(numkeys)
-		sync_curves(mesh, b_mesh, b_ob, true, motion_step);
+		sync_curves(mesh, b_depsgraph, b_mesh, b_ob, true, motion_step);
 
 	/* free derived mesh */
 	b_data.meshes.remove(b_mesh, false, true, false);
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h
index e63ef9e5e47..7f561398c07 100644
--- a/intern/cycles/blender/blender_sync.h
+++ b/intern/cycles/blender/blender_sync.h
@@ -119,6 +119,7 @@ private:
 	                bool object_updated,
 	                bool hide_tris);
 	void sync_curves(Mesh *mesh,
+	                 BL::Depsgraph& b_depsgraph,
 	                 BL::Mesh& b_mesh,
 	                 BL::Object& b_ob,
 	                 bool motion,
diff --git a/source/blender/blenkernel/BKE_hair.h b/source/blender/blenkernel/BKE_hair.h
index 24c426b1aab..e7a2c4ed864 100644
--- a/source/blender/blenkernel/BKE_hair.h
+++ b/source/blender/blenkernel/BKE_hair.h
@@ -74,13 +74,13 @@ void BKE_hair_curve_data_copy(struct HairCurveData *dst_data, const struct HairC
 /* === Scalp object === */
 
 /* Find the mesh used as the scalp surface */
-const struct Mesh* BKE_hair_get_scalp(
+struct Mesh* BKE_hair_get_scalp(
         const struct Depsgraph *depsgraph,
         const struct Object *ob,
         const struct HairSystem *hsys);
 
 /* Find the object used as the scalp surface */
-const struct Object* BKE_hair_get_scalp_object(
+struct Object* BKE_hair_get_scalp_object(
         const struct Object *ob,
         const struct HairSystem *hsys);
 
diff --git a/source/blender/blenkernel/intern/hair.c b/source/blender/blenkernel/intern/hair.c
index 78214235ee0..7c10e160055 100644
--- a/source/blender/blenkernel/intern/hair.c
+++ b/source/blender/blenkernel/intern/hair.c
@@ -49,6 +49,7 @@
 
 #include "BKE_animsys.h"
 #include "DEG_depsgraph_query.h"
+#include "BKE_global.h"
 #include "BKE_hair.h"
 #include "BKE_library.h"
 #include "BKE_main.h"
@@ -227,12 +228,13 @@ void BKE_hair_boundbox_calc(HairSystem *hsys)
 }
 
 /* Find the mesh used as the scalp surface */
-const struct Mesh* BKE_hair_get_scalp(
+struct Mesh* BKE_hair_get_scalp(
         const Depsgraph *depsgraph,
         const Object *ob,
         const HairSystem *hsys)
 {
-	if (Object *scalp_object = BKE_hair_get_scalp_object(ob, hsys))
+	Object *scalp_object = BKE_hair_get_scalp_object(ob, hsys);
+	if (scalp_object)
 	{
 		return (struct Mesh *)DEG_get_evaluated_id(depsgraph, scalp_object->data);
 	}
@@ -241,7 +243,7 @@ const struct Mesh* BKE_hair_get_scalp(
 }
 
 /* Find the object used as the scalp surface */
-const struct Object* BKE_hair_get_scalp_object(
+struct Object* BKE_hair_get_scalp_object(
         const Object *ob,
         const HairSystem *hsys)
 {
diff --git a/source/blender/bmesh/CMakeLists.txt b/source/blender/bmesh/CMakeLists.txt
index 4c9d82a4c66..bd3eb4cc1ac 100644
--- a/source/blender/bmesh/CMakeLists.txt
+++ b/source/blender/bmesh/CMakeLists.txt
@@ -54,7 +54,6 @@ set(SRC
 	operators/bmo_dupe.c
 	operators/bmo_edgenet.c
 	operators/bmo_extrude.c
-	operators/bmo_face_island.c
 	operators/bmo_fill_attribute.c
 	operators/bmo_fill_edgeloop.c
 	operators/bmo_fill_grid.c
diff --git a/source/blender/bmesh/intern/bmesh_opdefines.c b/source/blender/bmesh/intern/bmesh_opdefines.c
index b55a3129d98..d9093e774e6 100644
--- a/source/blender/bmesh/intern/bmesh_opdefines.c
+++ b/source/blender/bmesh/intern/bmesh_opdefines.c
@@ -2022,26 +2022,6 @@ static BMOpDefine bmo_symmetrize_def = {
 	 BMO_OPTYPE_FLAG_SELECT_VALIDATE),
 };
 
-/*
- * Face island boundary.
- */
-static BMOpDefine bmo_face_island_boundary_def = {
-	"face_island_boundary",
-	/* slots_in */
-	{{"faces", BMO_OP_SLOT_ELEMENT_BUF, {BM_FACE}},
-	 {{'\0'}},
-	},
-	/* slots_out */
-	{{"boundary", BMO_OP_SLOT_ELEMENT_BUF, {BM_LOOP}},
-	 {{'\0'}},
-	},
-	bmo_face_island_boundary_exec,
-	(BMO_OPTYPE_FLAG_UNTAN_MULTIRES |
-	 BMO_OPTYPE_FLAG_NORMALS_CALC |
-	 BMO_OPTYPE_FLAG_SELECT_FLUSH |
-	 BMO_OPTYPE_FLAG_SELECT_VALIDATE),
-};
-
 const BMOpDefine *bmo_opdefines[] = {
 	&bmo_automerge_def,
 	&bmo_average_vert_facedata_def,
@@ -2077,7 +2057,6 @@ const BMOpDefine *bmo_opdefines[] = {
 	&bmo_duplicate_def,
 	&bmo_holes_fill_def,
 	&bmo_face_attribute_fill_def,
-	&bmo_face_island_boundary_def,
 	&bmo_offset_edgeloops_def,
 	&bmo_edgeloop_fill_def,
 	&bmo_edgenet_fill_def,
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index b75958a9882..9e60b266548 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1829,7 +1829,7 @@ void DepsgraphRelationBuilder::build_object_data_geometry(Object *object)
 	/* Hair scalp dependency
 	 * TODO: eventually should be part of hair modifiers!
 	 */
-	if (object->type == OB_HAIR):
+	if (object->type == OB_HAIR)
 	{
 		HairSystem *hsys = (HairSystem *)obdata;
 
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index eaac876ae50..ba7f3104c53 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -906,7 +906,7 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_get(
 			                                         e_data.default_lit[options]);
 		}
 		else if (hsys && hdraw && scalp) {
-			shgrp = DRW_shgroup_hair_create(ob, hsys, scalp, hdraw,
+			shgrp = DRW_shgroup_hair_create(ob, hsys,
 			                                vedata->psl->default_pass[options],
 			                                e_data.default_lit[options]);
 		}
@@ -1534,8 +1534,7 @@ static void material_hair(
         EEVEE_ViewLayerData *sldata,
         Object *ob,
         HairSystem *hsys,
-        Material *ma,
-        struct Mesh *scalp)
+        Material *ma)
 {
 	EEVEE_PassList *psl = ((EEVEE_Data *)vedata)->psl;
 	EEVEE_StorageList *stl = ((EEVEE_Data *)vedata)->stl;
@@ -1543,6 +1542,7 @@ static void material_hair(
 	const bool use_ssr = ((stl->effects->enabled_effects & EFFECT_SSR) != 0);
 	const DRWContextState *draw_ctx = DRW_context_state_get();
 	Scene *scene = draw_ctx->scene;
+	struct Mesh *scalp = BKE_hair_get_scalp(draw_ctx->depsgraph, ob, hsys);
 	float mat[4][4];
 	copy_m4_m4(mat, ob->obmat);
 	
@@ -1829,9 +1829,11 @@ void EEVEE_hair_cache_populate(EEVEE_Data *vedata, EEVEE_ViewLayerData *sldata,
 	else if (ob->type == OB_HAIR) {
 		HairSystem *hsys = ob->data;
 		
-		Material *material = give_current_material(ob, hsys->material_index);
+		// TODO
+		//Material *material = give_current_material(ob, hsys->material_index);
+		Material *material = give_current_material(ob, 0);
 		
-		material_hair(vedata, sldata, ob, hsys->hair_system, material, scalp);
+		material_hair(vedata, sldata, ob, hsys, material);
 	}
 }
 
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index f39debe3bfb..dc88f8b6b93 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -648,21 +648,23 @@ static void workbench_cache_populate_particles(WORKBENCH_Data *vedata, Object *o
 
 static void workbench_cache_populate_hair(WORKBENCH_Data *vedata, Object *ob)
 {
-	const HairSystem *hsys = ob->data;
+	HairSystem *hsys = ob->data;
 	WORKBENCH_StorageList *stl = vedata->stl;
 	WORKBENCH_PassList *psl = vedata

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list