[Bf-blender-cvs] [25570cd02bf] new-object-types: Merge branch 'master' into HEAD
Brecht Van Lommel
noreply at git.blender.org
Tue Mar 10 13:47:48 CET 2020
Commit: 25570cd02bf2ee5666703f07751344e8b8e8c809
Author: Brecht Van Lommel
Date: Tue Mar 10 13:40:52 2020 +0100
Branches: new-object-types
https://developer.blender.org/rB25570cd02bf2ee5666703f07751344e8b8e8c809
Merge branch 'master' into HEAD
===================================================================
===================================================================
diff --cc source/blender/blenkernel/BKE_idtype.h
index a7c90851e41,9562ace3c51..60eee2035f5
--- a/source/blender/blenkernel/BKE_idtype.h
+++ b/source/blender/blenkernel/BKE_idtype.h
@@@ -129,42 -127,39 +129,42 @@@ typedef struct IDTypeInfo
extern IDTypeInfo IDType_ID_SCE;
extern IDTypeInfo IDType_ID_LI;
extern IDTypeInfo IDType_ID_OB;
- // extern IDTypeInfo IDType_ID_ME;
- // extern IDTypeInfo IDType_ID_CU;
- // extern IDTypeInfo IDType_ID_MB;
- // extern IDTypeInfo IDType_ID_MA;
- // extern IDTypeInfo IDType_ID_TE;
- // extern IDTypeInfo IDType_ID_IM;
- // extern IDTypeInfo IDType_ID_LT;
+ extern IDTypeInfo IDType_ID_ME;
+ extern IDTypeInfo IDType_ID_CU;
+ extern IDTypeInfo IDType_ID_MB;
+ extern IDTypeInfo IDType_ID_MA;
+ extern IDTypeInfo IDType_ID_TE;
+ extern IDTypeInfo IDType_ID_IM;
+ extern IDTypeInfo IDType_ID_LT;
extern IDTypeInfo IDType_ID_LA;
extern IDTypeInfo IDType_ID_CA;
- // extern IDTypeInfo IDType_ID_IP;
+ extern IDTypeInfo IDType_ID_IP;
extern IDTypeInfo IDType_ID_KE;
extern IDTypeInfo IDType_ID_WO;
- // extern IDTypeInfo IDType_ID_SCR;
- // extern IDTypeInfo IDType_ID_VF;
- // extern IDTypeInfo IDType_ID_TXT;
- // extern IDTypeInfo IDType_ID_SPK;
- // extern IDTypeInfo IDType_ID_SO;
- // extern IDTypeInfo IDType_ID_GR;
- // extern IDTypeInfo IDType_ID_AR;
- // extern IDTypeInfo IDType_ID_AC;
- // extern IDTypeInfo IDType_ID_NT;
+ extern IDTypeInfo IDType_ID_SCR;
+ extern IDTypeInfo IDType_ID_VF;
+ extern IDTypeInfo IDType_ID_TXT;
+ extern IDTypeInfo IDType_ID_SPK;
+ extern IDTypeInfo IDType_ID_SO;
+ extern IDTypeInfo IDType_ID_GR;
+ extern IDTypeInfo IDType_ID_AR;
+ extern IDTypeInfo IDType_ID_AC;
+ extern IDTypeInfo IDType_ID_NT;
extern IDTypeInfo IDType_ID_BR;
- // extern IDTypeInfo IDType_ID_PA;
- // extern IDTypeInfo IDType_ID_GD;
- // extern IDTypeInfo IDType_ID_WM;
- // extern IDTypeInfo IDType_ID_MC;
- // extern IDTypeInfo IDType_ID_MSK;
- // extern IDTypeInfo IDType_ID_LS;
- // extern IDTypeInfo IDType_ID_PAL;
- // extern IDTypeInfo IDType_ID_PC;
- // extern IDTypeInfo IDType_ID_CF;
- // extern IDTypeInfo IDType_ID_WS;
+ extern IDTypeInfo IDType_ID_PA;
+ extern IDTypeInfo IDType_ID_GD;
+ extern IDTypeInfo IDType_ID_WM;
+ extern IDTypeInfo IDType_ID_MC;
+ extern IDTypeInfo IDType_ID_MSK;
+ extern IDTypeInfo IDType_ID_LS;
+ extern IDTypeInfo IDType_ID_PAL;
+ extern IDTypeInfo IDType_ID_PC;
+ extern IDTypeInfo IDType_ID_CF;
+ extern IDTypeInfo IDType_ID_WS;
extern IDTypeInfo IDType_ID_LP;
+extern IDTypeInfo IDType_ID_HA;
+extern IDTypeInfo IDType_ID_PT;
+extern IDTypeInfo IDType_ID_VO;
/* ********** Helpers/Utils API. ********** */
diff --cc source/blender/blenkernel/intern/idtype.c
index dd6ea098e68,ff4d06cd011..ce2835717a0
--- a/source/blender/blenkernel/intern/idtype.c
+++ b/source/blender/blenkernel/intern/idtype.c
@@@ -54,42 -54,39 +54,42 @@@ static void id_type_init(void
INIT_TYPE(ID_SCE);
INIT_TYPE(ID_LI);
INIT_TYPE(ID_OB);
- // INIT_TYPE(ID_ME);
- // INIT_TYPE(ID_CU);
- // INIT_TYPE(ID_MB);
- // INIT_TYPE(ID_MA);
- // INIT_TYPE(ID_TE);
- // INIT_TYPE(ID_IM);
- // INIT_TYPE(ID_LT);
+ INIT_TYPE(ID_ME);
+ INIT_TYPE(ID_CU);
+ INIT_TYPE(ID_MB);
+ INIT_TYPE(ID_MA);
+ INIT_TYPE(ID_TE);
+ INIT_TYPE(ID_IM);
+ INIT_TYPE(ID_LT);
INIT_TYPE(ID_LA);
INIT_TYPE(ID_CA);
- // INIT_TYPE(ID_IP);
+ INIT_TYPE(ID_IP);
INIT_TYPE(ID_KE);
INIT_TYPE(ID_WO);
- // INIT_TYPE(ID_SCR);
- // INIT_TYPE(ID_VF);
- // INIT_TYPE(ID_TXT);
- // INIT_TYPE(ID_SPK);
- // INIT_TYPE(ID_SO);
- // INIT_TYPE(ID_GR);
- // INIT_TYPE(ID_AR);
- // INIT_TYPE(ID_AC);
- // INIT_TYPE(ID_NT);
+ INIT_TYPE(ID_SCR);
+ INIT_TYPE(ID_VF);
+ INIT_TYPE(ID_TXT);
+ INIT_TYPE(ID_SPK);
+ INIT_TYPE(ID_SO);
+ INIT_TYPE(ID_GR);
+ INIT_TYPE(ID_AR);
+ INIT_TYPE(ID_AC);
+ INIT_TYPE(ID_NT);
INIT_TYPE(ID_BR);
- // INIT_TYPE(ID_PA);
- // INIT_TYPE(ID_GD);
- // INIT_TYPE(ID_WM);
- // INIT_TYPE(ID_MC);
- // INIT_TYPE(ID_MSK);
- // INIT_TYPE(ID_LS);
- // INIT_TYPE(ID_PAL);
- // INIT_TYPE(ID_PC);
- // INIT_TYPE(ID_CF);
- // INIT_TYPE(ID_WS);
+ INIT_TYPE(ID_PA);
+ INIT_TYPE(ID_GD);
+ INIT_TYPE(ID_WM);
+ INIT_TYPE(ID_MC);
+ INIT_TYPE(ID_MSK);
+ INIT_TYPE(ID_LS);
+ INIT_TYPE(ID_PAL);
+ INIT_TYPE(ID_PC);
+ INIT_TYPE(ID_CF);
+ INIT_TYPE(ID_WS);
INIT_TYPE(ID_LP);
+ INIT_TYPE(ID_HA);
+ INIT_TYPE(ID_PT);
+ INIT_TYPE(ID_VO);
#undef INIT_TYPE
}
diff --cc source/blender/blenkernel/intern/material.c
index 142c2fa0fee,368eb099579..15f18eef7c8
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@@ -233,15 -241,15 +244,10 @@@ Material *BKE_material_localize(Materia
return man;
}
- void BKE_material_make_local(Main *bmain, Material *ma, const int flags)
- {
- BKE_lib_id_make_local_generic(bmain, &ma->id, flags);
- }
-
Material ***BKE_object_material_array_p(Object *ob)
{
- Mesh *me;
- Curve *cu;
- MetaBall *mb;
- bGPdata *gpd;
-
if (ob->type == OB_MESH) {
- me = ob->data;
+ Mesh *me = ob->data;
return &(me->mat);
}
else if (ELEM(ob->type, OB_CURVE, OB_FONT, OB_SURF)) {
diff --cc source/blender/blenkernel/intern/object_update.c
index 29ef7577e1c,20b2ab9409f..66c3b2ea26e
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@@ -216,18 -219,12 +222,21 @@@ void BKE_object_handle_data_update(Deps
case OB_LATTICE:
BKE_lattice_modifiers_calc(depsgraph, scene, ob);
break;
- case OB_GPENCIL:
+ case OB_GPENCIL: {
+ BKE_gpencil_prepare_eval_data(depsgraph, scene, ob);
BKE_gpencil_modifiers_calc(depsgraph, scene, ob);
+ BKE_gpencil_update_layer_parent(depsgraph, ob);
break;
+ }
+ case OB_HAIR:
+ BKE_hair_data_update(depsgraph, scene, ob);
+ break;
+ case OB_POINTCLOUD:
+ BKE_pointcloud_data_update(depsgraph, scene, ob);
+ break;
+ case OB_VOLUME:
+ BKE_volume_data_update(depsgraph, scene, ob);
+ break;
}
/* particles */
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index e5e96780ad6,6791125d1e9..6506e22b032
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@@ -2130,21 -2123,17 +2130,30 @@@ void DepsgraphRelationBuilder::build_ob
add_relation(material_key, geometry_key, "Material -> GP Data");
}
}
+
+ /* Layer parenting need react to the parent object transformation. */
+ LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) {
+ if (gpl->parent != NULL) {
+ ComponentKey transform_key(&gpl->parent->id, NodeType::TRANSFORM);
+ ComponentKey gpd_geom_key(&gpd->id, NodeType::GEOMETRY);
+ add_relation(transform_key, gpd_geom_key, "GPencil Parent Layer");
+ }
+ }
break;
}
+ case ID_HA:
+ break;
+ case ID_PT:
+ break;
+ case ID_VO: {
+ Volume *volume = (Volume *)obdata;
+ if (volume->is_sequence) {
+ TimeSourceKey time_key;
+ ComponentKey geometry_key(obdata, NodeType::GEOMETRY);
+ add_relation(time_key, geometry_key, "Volume sequence time");
+ }
+ break;
+ }
default:
BLI_assert(!"Should not happen");
break;
diff --cc source/blender/draw/CMakeLists.txt
index 6694e9dcf07,1f04739644e..cf155355683
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@@ -52,7 -52,7 +52,8 @@@ set(SR
intern/draw_cache_extract_mesh.c
intern/draw_cache_impl_curve.c
intern/draw_cache_impl_displist.c
+ intern/draw_cache_impl_gpencil.c
+ intern/draw_cache_impl_hair.c
intern/draw_cache_impl_lattice.c
intern/draw_cache_impl_mesh.c
intern/draw_cache_impl_metaball.c
diff --cc source/blender/draw/engines/overlay/overlay_engine.c
index 9a08180d6e3,cfa0fa9eb1a..acc422d27c0
--- a/source/blender/draw/engines/overlay/overlay_engine.c
+++ b/source/blender/draw/engines/overlay/overlay_engine.c
@@@ -222,9 -223,9 +229,17 @@@ static void OVERLAY_cache_populate(voi
const bool in_paint_mode = (ob == draw_ctx->obact) &&
(draw_ctx->object_mode & OB_MODE_ALL_PAINT);
const bool in_sculpt_mode = (ob == draw_ctx->obact) && (ob->sculpt != NULL);
-- const bool has_surface = ELEM(
- ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_MBALL, OB_FONT, OB_HAIR, OB_POINTCLOUD, OB_VOLUME);
- const bool draw_surface = !((ob->dt < OB_WIRE) || (!renderable && (ob->dt != OB_WIRE)));
- ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_MBALL, OB_FONT, OB_GPENCIL);
++ const bool has_surface = ELEM(ob->type,
++ OB_MESH,
++ OB_CURVE,
++ OB_SURF,
++ OB_MBALL,
++ OB_FONT,
++ OB_GPENCIL,
++ OB_HAIR,
++ OB_POINTCLOUD,
++ OB_VOLUME);
+ const bool draw_surface = (ob->dt >= OB_WIRE) && (renderable || (ob->dt == OB_WIRE));
const bool draw_facing = draw_surface && (pd->overlay.flag & V3D_OVERLAY_FACE_ORIENTATION);
const bool draw_bones = (pd->overlay.flag & V3D_OVERLAY_HIDE_BONES) == 0;
const bool draw_wires = draw_surface && has_surface &&
@@@ -442,7 -437,7 +457,8 @@@ static void OVERLAY_draw_scene(void *ve
OVERLAY_armature_draw(vedata);
OVERLAY_particle_draw(vedata);
OVERLAY_metaball_draw(vedata);
+ OVERLAY_pointcloud_draw(vedata);
+ OVERLAY_gpencil_draw(vedata);
OVERLAY_extra_draw(vedata);
if (DRW_state_is_fbo()) {
diff --cc source/blender/draw/intern/draw_cache.c
index 83203afd35e,d0cea5b8c5c..1f76b5ac431
--- a/source/blender/draw/intern/draw_cache.c
+++ b/source/blender/draw/intern/draw_cache.c
@@@ -802,12 -817,9 +826,15 @@@ GPUBatch *DRW_cache_object_face_wirefra
return DRW_cache_text_face_wireframe_get(ob);
case OB_MBALL:
return DRW_cache_mball_face_wireframe_get(ob);
+ case OB_HAIR:
+ r
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list