[Bf-blender-cvs] [2af2dbc6ae3] hair_guides_grooming: Merge branch 'hair_guides' into hair_guides_grooming

Lukas Tönne noreply at git.blender.org
Sat Jun 9 08:05:05 CEST 2018


Commit: 2af2dbc6ae3da9e289d0efd0662d4a4cd56ee075
Author: Lukas Tönne
Date:   Sat Jun 9 06:45:31 2018 +0100
Branches: hair_guides_grooming
https://developer.blender.org/rB2af2dbc6ae3da9e289d0efd0662d4a4cd56ee075

Merge branch 'hair_guides' into hair_guides_grooming

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



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

diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index dfe4de88c23,aaf96a47711..b2a7beb3632
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@@ -551,8 -576,7 +578,8 @@@ void DepsgraphNodeBuilder::build_object
  		case OB_SURF:
  		case OB_MBALL:
  		case OB_LATTICE:
 +		case OB_GROOM:
- 			build_obdata_geom(object);
+ 			build_object_data_geometry(object);
  			/* TODO(sergey): Only for until we support granular
  			 * update of curves.
  			 */
@@@ -1149,21 -1168,10 +1171,23 @@@ void DepsgraphNodeBuilder::build_object
  			op_node->set_as_entry();
  			break;
  		}
 +
 +		case OB_GROOM:
 +		{
 +			/* Groom evaluation operations. */
 +			op_node = add_operation_node(obdata, DEG_NODE_TYPE_GEOMETRY,
 +			                             function_bind(BKE_groom_eval_geometry,
 +			                                           _1,
 +			                                           (Groom *)obdata_cow),
 +			                             DEG_OPCODE_PLACEHOLDER,
 +			                             "Geometry Eval");
 +			op_node->set_as_entry();
 +			break;
 +		}
+ 		default:
+ 			BLI_assert(!"Should not happen");
+ 			break;
  	}
- 
  	op_node = add_operation_node(obdata, DEG_NODE_TYPE_GEOMETRY, NULL,
  	                             DEG_OPCODE_PLACEHOLDER, "Eval Done");
  	op_node->set_as_exit();
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.h
index feb59ed7e37,72aa5dbe003..0b6f9c397f8
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h
@@@ -44,9 -46,10 +46,11 @@@ struct ID
  struct Image;
  struct FCurve;
  struct Collection;
 +struct Groom;
  struct Key;
+ struct Lamp;
  struct LayerCollection;
+ struct LightProbe;
  struct Main;
  struct Material;
  struct Mask;
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 9279f3a9116,eb1ee0c1535..0b5a50d6627
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@@ -598,9 -633,8 +635,9 @@@ void DepsgraphRelationBuilder::build_ob
  		case OB_SURF:
  		case OB_MBALL:
  		case OB_LATTICE:
 +		case OB_GROOM:
  		{
- 			build_obdata_geom(object);
+ 			build_object_data_geometry(object);
  			break;
  		}
  		case OB_ARMATURE:
@@@ -1821,43 -1903,24 +1906,37 @@@ void DepsgraphRelationBuilder::build_ob
  			}
  			break;
  		}
- 
- 		case OB_SURF: /* Nurbs Surface */
- 		{
+ 		case ID_LT:
  			break;
- 		}
- 
- 		case OB_LATTICE: /* Lattice */
- 		{
+ 		default:
+ 			BLI_assert(!"Should not happen");
  			break;
 +		}
 +
 +		case OB_GROOM: /* Groom */
 +		{
 +			Groom *groom = (Groom *)obdata;
 +			ComponentKey geometry_key(&groom->id, DEG_NODE_TYPE_GEOMETRY);
 +			
 +			if (groom->scalp_object)
 +			{
 +				ID *scalp_id = &groom->scalp_object->id;
 +				add_relation(ComponentKey(scalp_id, DEG_NODE_TYPE_GEOMETRY), geometry_key, "Scalp Object -> Groom");
 +			}
 +			break;
- 		}
  	}
+ }
  
- 	/* ShapeKeys */
- 	Key *key = BKE_key_from_object(object);
- 	if (key) {
- 		build_shapekeys(obdata, key);
+ void DepsgraphRelationBuilder::build_armature(bArmature *armature)
+ {
+ 	if (built_map_.checkIsBuiltAndTag(armature)) {
+ 		return;
  	}
+ 	build_animdata(&armature->id);
  }
  
- /* Cameras */
- // TODO: Link scene-camera links in somehow...
- void DepsgraphRelationBuilder::build_camera(Object *object)
+ void DepsgraphRelationBuilder::build_camera(Camera *camera)
  {
- 	Camera *camera = (Camera *)object->data;
  	if (built_map_.checkIsBuiltAndTag(camera)) {
  		return;
  	}
diff --cc source/blender/draw/engines/eevee/eevee_render.c
index 24a455376b8,76887145ad2..ac3ee74eaf6
--- a/source/blender/draw/engines/eevee/eevee_render.c
+++ b/source/blender/draw/engines/eevee/eevee_render.c
@@@ -143,25 -143,26 +143,26 @@@ void EEVEE_render_cache
  	char info[42];
  	BLI_snprintf(info, sizeof(info), "Syncing %s", ob->id.name + 2);
  	RE_engine_update_stats(engine, NULL, info);
+ 	bool cast_shadow = false;
  
- 	if (DRW_check_object_visible_within_active_context(ob) == false) {
- 		return;
+ 	if (ob->base_flag & BASE_VISIBLED) {
+ 		EEVEE_hair_cache_populate(vedata, sldata, ob, &cast_shadow);
  	}
  
- 	if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_GROOM)) {
- 		bool cast_shadow;
- 
- 		EEVEE_materials_cache_populate(vedata, sldata, ob, &cast_shadow);
- 
- 		if (cast_shadow) {
- 			EEVEE_lights_cache_shcaster_object_add(sldata, ob);
+ 	if (DRW_check_object_visible_within_active_context(ob)) {
 -		if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT)) {
++		if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_GROOM)) {
+ 			EEVEE_materials_cache_populate(vedata, sldata, ob, &cast_shadow);
+ 		}
+ 		else if (ob->type == OB_LIGHTPROBE) {
+ 			EEVEE_lightprobes_cache_add(sldata, ob);
+ 		}
+ 		else if (ob->type == OB_LAMP) {
+ 			EEVEE_lights_cache_add(sldata, ob);
  		}
  	}
- 	else if (ob->type == OB_LIGHTPROBE) {
- 		EEVEE_lightprobes_cache_add(sldata, ob);
- 	}
- 	else if (ob->type == OB_LAMP) {
- 		EEVEE_lights_cache_add(sldata, ob);
+ 
+ 	if (cast_shadow) {
+ 		EEVEE_lights_cache_shcaster_object_add(sldata, ob);
  	}
  }
  
diff --cc source/blender/editors/space_view3d/view3d_iterators.c
index 51cc265f695,eae0cf8e459..d3e9a3f6d85
--- a/source/blender/editors/space_view3d/view3d_iterators.c
+++ b/source/blender/editors/space_view3d/view3d_iterators.c
@@@ -44,7 -42,7 +44,8 @@@
  #include "BKE_displist.h"
  #include "BKE_editmesh.h"
  #include "BKE_context.h"
 +#include "BKE_groom.h"
+ #include "BKE_mesh_runtime.h"
  
  #include "DEG_depsgraph.h"
  #include "DEG_depsgraph_query.h"



More information about the Bf-blender-cvs mailing list