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"

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

Reply via email to