Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-08-21 16:40:23 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-08-22 11:21:45 +0300
commit9e11b8e24939fbc73930bc05ddea1f79bb00783f (patch)
tree74f12d38dde314d551fca75044299e6d8dff4408 /source/blender/blenkernel/BKE_multires.h
parent6b6c27694e16ee1f21fe562408afc8a1fa4690f6 (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.h33
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__ */