[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