diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-08-21 16:40:23 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-08-22 11:21:45 +0300 |
commit | 9e11b8e24939fbc73930bc05ddea1f79bb00783f (patch) | |
tree | 74f12d38dde314d551fca75044299e6d8dff4408 /source/blender/blenkernel/BKE_multires.h | |
parent | 6b6c27694e16ee1f21fe562408afc8a1fa4690f6 (diff) |
Multires: implement reshape operation
The one which is used by applying deformation modifiers on the multires.
Diffstat (limited to 'source/blender/blenkernel/BKE_multires.h')
-rw-r--r-- | source/blender/blenkernel/BKE_multires.h | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_multires.h b/source/blender/blenkernel/BKE_multires.h index 71997e55b66..d94e3f263eb 100644 --- a/source/blender/blenkernel/BKE_multires.h +++ b/source/blender/blenkernel/BKE_multires.h @@ -82,7 +82,7 @@ struct DerivedMesh *multires_make_derived_from_derived(struct DerivedMesh *dm, struct MultiresModifierData *find_multires_modifier_before(struct Scene *scene, struct ModifierData *lastmd); struct MultiresModifierData *get_multires_modifier(struct Scene *scene, struct Object *ob, bool use_first); -int multires_get_level(struct Scene *scene, struct Object *ob, const struct MultiresModifierData *mmd, +int multires_get_level(const struct Scene *scene, const struct Object *ob, const struct MultiresModifierData *mmd, bool render, bool ignore_simplify); struct DerivedMesh *get_multires_dm(struct Depsgraph *depsgraph, struct Scene *scene, struct MultiresModifierData *mmd, struct Object *ob); @@ -94,13 +94,6 @@ void multiresModifier_base_apply(struct MultiresModifierData *mmd, struct Scene void multiresModifier_subdivide(struct MultiresModifierData *mmd, struct Scene *scene, struct Object *ob, int updateblock, int simple); void multiresModifier_sync_levels_ex( struct Scene *scene, struct Object *ob_dst, struct MultiresModifierData *mmd_src, struct MultiresModifierData *mmd_dst); -int multiresModifier_reshape(struct Depsgraph *depsgraph, struct Scene *scene, struct MultiresModifierData *mmd, - struct Object *dst, struct Object *src); -int multiresModifier_reshapeFromDM(struct Depsgraph *depsgraph, struct Scene *scene, struct MultiresModifierData *mmd, - struct Object *ob, struct DerivedMesh *srcdm); -bool multiresModifier_reshapeFromDeformModifier( - struct Depsgraph *depsgraph, struct Scene *scene, struct MultiresModifierData *mmd, - struct Object *ob, struct ModifierData *md); void multires_stitch_grids(struct Object *); @@ -121,4 +114,28 @@ void multires_topology_changed(struct Mesh *me); void old_mdisps_bilinear(float out[3], float (*disps)[3], const int st, float u, float v); int mdisp_rot_face_to_crn(struct MVert *mvert, struct MPoly *mpoly, struct MLoop *mloops, const struct MLoopTri *lt, const int face_side, const float u, const float v, float *x, float *y); +/* Reshaping, define in multires_reshape.c */ + +bool multiresModifier_reshape(struct Depsgraph *depsgraph, struct Scene *scene, struct MultiresModifierData *mmd, + struct Object *dst, struct Object *src); +bool multiresModifier_reshapeFromDeformModifier( + struct Depsgraph *depsgraph, struct Scene *scene, struct MultiresModifierData *mmd, + struct Object *ob, struct ModifierData *md); + +/* Subdivision integration, defined in multires_subdiv.c */ + +struct SubdivSettings; +struct SubdivToMeshSettings; + +void BKE_multires_subdiv_settings_init( + struct SubdivSettings *settings, + const struct MultiresModifierData *mmd); + +void BKE_multires_subdiv_mesh_settings_init( + struct SubdivToMeshSettings *mesh_settings, + const struct Scene *scene, + const struct Object *object, + const struct MultiresModifierData *mmd, + const bool use_render_params); + #endif /* __BKE_MULTIRES_H__ */ |