|
Blender
V2.93
|
#include "MEM_guardedalloc.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BLI_bitmap.h"#include "BLI_blenlib.h"#include "BLI_math.h"#include "BLI_task.h"#include "BLI_utildefines.h"#include "BKE_ccg.h"#include "BKE_cdderivedmesh.h"#include "BKE_editmesh.h"#include "BKE_mesh.h"#include "BKE_mesh_mapping.h"#include "BKE_mesh_runtime.h"#include "BKE_modifier.h"#include "BKE_multires.h"#include "BKE_paint.h"#include "BKE_pbvh.h"#include "BKE_scene.h"#include "BKE_subdiv_ccg.h"#include "BKE_subsurf.h"#include "BKE_object.h"#include "CCGSubSurf.h"#include "DEG_depsgraph_query.h"#include "multires_reshape.h"#include <math.h>#include <string.h>Go to the source code of this file.
Classes | |
| struct | MultiresThreadedData |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
Typedefs | |
| typedef struct MultiresThreadedData | MultiresThreadedData |
Enumerations | |
| enum | DispOp { APPLY_DISPLACEMENTS , CALC_DISPLACEMENTS , ADD_DISPLACEMENTS } |
Variables | |
| static const int | multires_grid_tot [] |
| static const int | multires_side_tot [] |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 27 of file multires.c.
| typedef struct MultiresThreadedData MultiresThreadedData |
| enum DispOp |
| Enumerator | |
|---|---|
| APPLY_DISPLACEMENTS | |
| CALC_DISPLACEMENTS | |
| ADD_DISPLACEMENTS | |
Definition at line 72 of file multires.c.
| float(* BKE_multires_create_deformed_base_mesh_vert_coords | ( | struct Depsgraph * | depsgraph, |
| struct Object * | object, | ||
| struct MultiresModifierData * | mmd, | ||
| int * | r_num_deformed_verts | ||
| ) | )[3] |
Definition at line 265 of file multires.c.
References BKE_mesh_vert_coords_alloc(), BKE_modifier_deform_verts(), BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), DAG_EVAL_RENDER, Object::data, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), DEG_get_mode(), depsgraph, eModifierMode_Realtime, eModifierMode_Render, eModifierTypeType_OnlyDeform, ModifierEvalContext::flag, float(), MOD_APPLY_RENDER, NULL, Object::sculpt, and ModifierTypeInfo::type.
Referenced by multires_reshape_apply_base_refine_from_deform(), and sculpt_undo_refine_subdiv().
| Mesh* BKE_multires_create_mesh | ( | struct Depsgraph * | depsgraph, |
| Object * | object, | ||
| MultiresModifierData * | mmd | ||
| ) |
Definition at line 242 of file multires.c.
References BKE_mesh_copy_for_eval(), BKE_modifier_get_info(), CD_MASK_BAREMESH, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, depsgraph, Object::flag, mesh_get_eval_deform(), MOD_APPLY_IGNORE_SIMPLIFY, MOD_APPLY_USECACHE, MultiresModifierData::modifier, ModifierTypeInfo::modifyMesh, result, and ModifierData::type.
Referenced by multiresModifier_reshapeFromDeformModifier().
| MultiresModifierData* find_multires_modifier_before | ( | Scene * | scene, |
| ModifierData * | lastmd | ||
| ) |
Definition at line 318 of file multires.c.
References BKE_modifier_is_enabled(), eModifierMode_Realtime, eModifierType_Multires, NULL, ModifierData::prev, scene, and ModifierData::type.
Referenced by ED_object_modifier_apply(), modifier_apply_obdata(), and modifier_apply_poll_ex().
|
static |
Definition at line 491 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Object::data, Mesh::ldata, MPoly::loopstart, Mesh::mpoly, MDisps::totdisp, MPoly::totloop, and Mesh::totpoly.
Referenced by multiresModifier_set_levels_from_disps().
| MultiresModifierData* get_multires_modifier | ( | Scene * | scene, |
| Object * | ob, | ||
| bool | use_first | ||
| ) |
Definition at line 336 of file multires.c.
References BKE_modifier_is_enabled(), eModifierMode_Realtime, eModifierType_Multires, ListBase::first, Object::modifiers, ModifierData::next, NULL, scene, and ModifierData::type.
Referenced by BKE_sculpt_get_first_deform_matrices(), join_mesh_single(), multires_apply_smat(), multires_sync_levels(), multiresbake_check(), multiresbake_create_hiresdm(), and multiresbake_create_loresdm().
|
static |
Definition at line 809 of file multires.c.
References CCG_grid_elem_co(), CCGKey::grid_size, sub_v3_v3v3(), t, x, and y.
Referenced by grid_tangent_matrix().
|
static |
Definition at line 842 of file multires.c.
References CCG_grid_elem_no(), copy_v3_v3(), grid_tangent(), normalize_v3(), x, and y.
Referenced by multires_disp_run_cb().
| int mdisp_rot_face_to_crn | ( | struct MVert * | UNUSEDmvert, |
| struct MPoly * | mpoly, | ||
| struct MLoop * | UNUSEDmloop, | ||
| const struct MLoopTri * | UNUSEDlt, | ||
| const int | face_side, | ||
| const float | u, | ||
| const float | v, | ||
| float * | x, | ||
| float * | y | ||
| ) |
Definition at line 1554 of file multires.c.
References len, len_v3v3(), MPoly::loopstart, NULL, MPoly::totloop, v, w(), x, and y.
|
static |
Definition at line 1408 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Object::data, get_multires_modifier(), is_uniform_scaled_m3(), Mesh::ldata, mat3_to_scale(), mesh, multires_apply_uniform_scale(), multiresModifier_ensure_external_read(), NULL, scene, and MultiresModifierData::totlvl.
Referenced by multiresModifier_prepare_join(), and multiresModifier_scale_disp().
Definition at line 1396 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Object::data, MDisps::disps, Mesh::ldata, mesh, mul_v3_fl(), MDisps::totdisp, and Mesh::totloop.
Referenced by multires_apply_smat().
|
static |
Definition at line 396 of file multires.c.
References SubdivCCG::coords, SubdivCCG::dirty, SubdivCCG::hidden, MULTIRES_COORDS_MODIFIED, and MULTIRES_HIDDEN_MODIFIED.
Referenced by multires_mark_as_modified().
|
static |
Definition at line 609 of file multires.c.
References CCG_elem_offset_co(), CCGKey::elem_size, CCGKey::grid_size, x, and y.
Referenced by multires_modifier_update_mdisps().
|
static |
Definition at line 585 of file multires.c.
References copy_v3_v3(), x, and y.
Referenced by multires_del_higher().
| void multires_customdata_delete | ( | Mesh * | me | ) |
Customdata
Definition at line 83 of file multires.c.
References BMEditMesh::bm, BM_data_layer_free(), CD_GRID_PAINT_MASK, CD_MDISPS, CustomData_external_remove(), CustomData_free_layer_active(), CustomData_has_layer(), Mesh::edit_mesh, Mesh::id, BMesh::ldata, Mesh::ldata, and Mesh::totloop.
Referenced by modifier_apply_obdata(), multires_del_higher(), multires_sync_levels(), and object_modifier_remove().
|
static |
Definition at line 659 of file multires.c.
References CD_GRID_PAINT_MASK, CD_MDISPS, CustomData_get_layer(), Object::data, MDisps::disps, float(), MDisps::hidden, Mesh::ldata, MDisps::level, MPoly::loopstart, MEM_calloc_arrayN, MEM_freeN, Mesh::mpoly, multires_copy_grid(), multires_customdata_delete(), multires_force_sculpt_rebuild(), multires_grid_paint_mask_downsample(), multires_grid_tot, multires_mdisps_downsample_hidden(), multires_set_tot_level(), multires_set_tot_mdisps(), multires_side_tot, multiresModifier_ensure_external_read(), NULL, MDisps::totdisp, MPoly::totloop, MultiresModifierData::totlvl, and Mesh::totpoly.
Referenced by multiresModifier_del_levels(), and multiresModifier_sync_levels_ex().
|
static |
Definition at line 866 of file multires.c.
References ADD_DISPLACEMENTS, add_v3_v3(), add_v3_v3v3(), APPLY_DISPLACEMENTS, CALC_DISPLACEMENTS, CCG_grid_elem_co(), CCG_grid_elem_mask(), CLAMPIS, data, GridPaintMask::data, MultiresThreadedData::dGridSize, MDisps::disps, MultiresThreadedData::dSkip, float(), CCGKey::grid_area, MultiresThreadedData::grid_paint_mask, grid_tangent_matrix(), MultiresThreadedData::gridData, MultiresThreadedData::gridOffset, MultiresThreadedData::gridSize, invert_m3(), MultiresThreadedData::key, CCGKey::level, GridPaintMask::level, MPoly::loopstart, mask(), MultiresThreadedData::mdisps, MEM_calloc_arrayN, MEM_freeN, MultiresThreadedData::mpoly, mul_v3_m3v3(), NULL, MultiresThreadedData::op, paint_grid_paint_mask(), sub_v3_v3v3(), MultiresThreadedData::subGridData, MPoly::totloop, x, and y.
Referenced by multiresModifier_disp_run().
|
static |
Definition at line 745 of file multires.c.
References MultiresModifierData::lvl, MULTIRES_ALLOC_PAINT_MASK, multires_make_derived_from_derived(), MULTIRES_USE_LOCAL_MMD, NULL, MultiresModifierData::renderlvl, scene, MultiresModifierData::sculptlvl, and MultiresModifierData::totlvl.
Referenced by multires_modifier_update_mdisps().
| void multires_ensure_external_read | ( | struct Mesh * | mesh, |
| int | top_level | ||
| ) |
Definition at line 1518 of file multires.c.
References CD_DEFAULT, CD_MASK_MDISPS, CD_MDISPS, CustomData_add_layer(), CustomData_external_read(), CustomData_external_test(), CustomData_get_layer(), Mesh::id, Mesh::ldata, MDisps::level, MEM_SAFE_FREE, mesh, multires_grid_tot, NULL, MDisps::totdisp, and Mesh::totloop.
Referenced by multiresModifier_ensure_external_read(), and multiresModifier_reshapeFromCCG().
| void multires_flush_sculpt_updates | ( | Object * | object | ) |
Definition at line 427 of file multires.c.
References SculptSession::active, BKE_pbvh_type(), SubdivCCG::coords, SubdivCCG::dirty, SubdivCCG::hidden, mesh, SculptSession::modifier, SculptSession::multires, multiresModifier_reshapeFromCCG(), NULL, SculptSession::pbvh, PBVH_GRIDS, Object::sculpt, SculptSession::subdiv_ccg, and MultiresModifierData::totlvl.
Referenced by ED_editors_flush_edits_for_object_ex(), ED_object_sculptmode_exit_ex(), init_multiresbake_job(), multires_force_sculpt_rebuild(), multiresbake_image_exec_locked(), and multiresModifier_subdivide_to_level().
| void multires_force_external_reload | ( | Object * | object | ) |
Definition at line 482 of file multires.c.
References BKE_mesh_from_object(), CD_MASK_MDISPS, CustomData_external_reload(), Mesh::id, Mesh::ldata, mesh, multires_force_sculpt_rebuild(), and Mesh::totloop.
| void multires_force_sculpt_rebuild | ( | Object * | object | ) |
Definition at line 456 of file multires.c.
References BKE_pbvh_free(), MEM_freeN, multires_flush_sculpt_updates(), NULL, SculptSession::pbvh, SculptSession::pmap, SculptSession::pmap_mem, and Object::sculpt.
Referenced by BKE_mesh_assign_object(), libblock_remap_data_postprocess_obdata_relink(), modifier_apply_obdata(), multires_del_higher(), multires_force_external_reload(), multires_subdivide_create_tangent_displacement_linear_grids(), multiresModifier_base_apply(), multiresModifier_del_levels(), and multiresModifier_rebuild_subdiv().
| int multires_get_level | ( | const Scene * | scene, |
| const Object * | ob, | ||
| const MultiresModifierData * | mmd, | ||
| bool | render, | ||
| bool | ignore_simplify | ||
| ) |
Definition at line 364 of file multires.c.
References get_render_subsurf_level(), MultiresModifierData::lvl, Object::mode, NULL, OB_MODE_SCULPT, Scene::r, MultiresModifierData::renderlvl, scene, and MultiresModifierData::sculptlvl.
Referenced by multires_make_derived_from_derived(), and multiresModifier_del_levels().
|
static |
Definition at line 639 of file multires.c.
References BKE_ccg_gridsize(), data, GridPaintMask::data, GridPaintMask::level, MEM_calloc_arrayN, MEM_freeN, paint_grid_paint_mask(), square_i(), x, and y.
Referenced by multires_del_higher().
| DerivedMesh* multires_make_derived_from_derived | ( | DerivedMesh * | dm, |
| MultiresModifierData * | mmd, | ||
| Scene * | scene, | ||
| Object * | ob, | ||
| MultiresFlags | flags | ||
| ) |
Definition at line 1232 of file multires.c.
References APPLY_DISPLACEMENTS, Object::data, CCGKey::elem_size, eMultiresModifierFlag_ControlEdges, MultiresModifierData::flags, CCGDerivedMesh::local_mmd, CCGDerivedMesh::lvl, MEM_freeN, MEM_malloc_arrayN, CCGDerivedMesh::mmd, CCGDerivedMesh::modified_flags, CCGDerivedMesh::multires, MULTIRES_ALLOC_PAINT_MASK, multires_get_level(), MULTIRES_IGNORE_SIMPLIFY, multires_output_hidden_to_ccgdm(), multires_set_tot_mdisps(), MULTIRES_USE_LOCAL_MMD, MULTIRES_USE_RENDER_PARAMS, multiresModifier_disp_run(), multiresModifier_ensure_external_read(), NULL, CCGDerivedMesh::ob, result, scene, subsurf_dm_create_local(), SUBSURF_IGNORE_SIMPLIFY, SUBSURF_UV_SMOOTH_NONE, CCGDerivedMesh::totlvl, MultiresModifierData::totlvl, and MultiresModifierData::uv_smooth.
Referenced by multires_dm_create_local(), multiresbake_create_hiresdm(), and multiresbake_create_loresdm().
| void multires_mark_as_modified | ( | Depsgraph * | depsgraph, |
| Object * | object, | ||
| MultiresModifiedFlags | flags | ||
| ) |
Definition at line 406 of file multires.c.
References Object::data, DEG_get_evaluated_object(), depsgraph, mesh, multires_ccg_mark_as_modified(), NULL, Mesh::runtime, and Mesh_Runtime::subdiv_ccg.
Referenced by mask_flood_fill_exec(), partialvis_update_grids(), SCULPT_flush_update_step(), sculpt_gesture_mask_end(), and sculpt_undo_restore_list().
| int multires_mdisp_corners | ( | MDisps * | s | ) |
Definition at line 1436 of file multires.c.
References MDisps::totdisp.
Referenced by bm_corners_to_loops_ex(), and layerSwap_mdisps().
|
static |
Definition at line 176 of file multires.c.
References BKE_ccg_factor(), BKE_ccg_gridsize(), BLI_assert, BLI_BITMAP_NEW, BLI_BITMAP_SET, BLI_BITMAP_TEST, square_i(), x, and y.
Referenced by multires_del_higher(), and multires_output_hidden_to_ccgdm().
|
static |
Definition at line 224 of file multires.c.
References BLI_assert, MDisps::hidden, MDisps::level, MEM_freeN, multires_mdisps_upsample_hidden(), and NULL.
Referenced by multires_reallocate_mdisps().
|
static |
Grid hiding
Definition at line 109 of file multires.c.
References BKE_ccg_factor(), BKE_ccg_gridsize(), BLI_assert, BLI_BITMAP_NEW, BLI_BITMAP_SET, BLI_BITMAP_TEST, MEM_dupallocN, and square_i().
Referenced by multires_mdisps_subdivide_hidden(), and multires_modifier_update_hidden().
| void multires_modifier_update_hidden | ( | DerivedMesh * | dm | ) |
Definition at line 1173 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Object::data, CCGDerivedMesh::gridHidden, MDisps::hidden, Mesh::ldata, CCGDerivedMesh::lvl, MEM_freeN, CCGDerivedMesh::multires, multires_mdisps_upsample_hidden(), NULL, CCGDerivedMesh::ob, Mesh::totloop, and CCGDerivedMesh::totlvl.
Referenced by ccgDM_release().
| void multires_modifier_update_mdisps | ( | struct DerivedMesh * | dm, |
| Scene * | scene | ||
| ) |
Definition at line 1046 of file multires.c.
References ADD_DISPLACEMENTS, BLI_assert, CALC_DISPLACEMENTS, CCG_elem_offset_co(), ccgSubSurf_updateFromFaces(), ccgSubSurf_updateLevels(), CD_GRID_PAINT_MASK, CD_MASK_BAREMESH, CD_MDISPS, CDDM_from_mesh(), CustomData_get_layer(), CustomData_has_layer(), Object::data, DM_set_only_copy(), CCGKey::elem_size, DerivedMesh::getGridData, DerivedMesh::getGridKey, DerivedMesh::getGridSize, DerivedMesh::getNumGrids, Mesh::ldata, CCGDerivedMesh::lvl, MEM_calloc_arrayN, MEM_freeN, CCGDerivedMesh::mmd, CCGDerivedMesh::multires, multires_copy_dm_grid(), multires_dm_create_local(), MULTIRES_IGNORE_SIMPLIFY, multires_set_tot_mdisps(), multiresModifier_disp_run(), multiresModifier_ensure_external_read(), NULL, CCGDerivedMesh::ob, DerivedMesh::release, scene, sub_v4_v4v4(), subsurf_dm_create_local(), SUBSURF_IGNORE_SIMPLIFY, SUBSURF_UV_SMOOTH_NONE, CCGDerivedMesh::totlvl, MultiresModifierData::totlvl, and MultiresModifierData::uv_smooth.
Referenced by ccgDM_release().
|
static |
Definition at line 200 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), CCGDerivedMesh::dm, DerivedMesh::getGridOffset, CCGDerivedMesh::gridHidden, MDisps::hidden, Mesh::ldata, MDisps::level, Mesh::mpoly, multires_mdisps_downsample_hidden(), MPoly::totloop, and Mesh::totpoly.
Referenced by multires_make_derived_from_derived().
|
static |
Definition at line 562 of file multires.c.
References MDisps::disps, float(), MDisps::level, MEM_calloc_arrayN, MEM_freeN, multires_grid_tot, multires_mdisps_subdivide_hidden(), and MDisps::totdisp.
Referenced by multiresModifier_disp_run().
| void multires_set_tot_level | ( | Object * | ob, |
| MultiresModifierData * | mmd, | ||
| int | lvl | ||
| ) |
Definition at line 384 of file multires.c.
References CLAMPIS, MultiresModifierData::lvl, MAX2, Object::mode, OB_MODE_SCULPT, MultiresModifierData::renderlvl, MultiresModifierData::sculptlvl, and MultiresModifierData::totlvl.
Referenced by ED_object_multires_update_totlevels_cb(), multires_del_higher(), multires_subdivide_create_tangent_displacement_linear_grids(), multiresModifier_del_levels(), and multiresModifier_subdivide_to_level().
|
static |
Definition at line 549 of file multires.c.
References CD_MDISPS, CustomData_get_layer(), Mesh::ldata, MDisps::level, multires_grid_tot, MDisps::totdisp, and Mesh::totloop.
Referenced by multires_del_higher(), multires_make_derived_from_derived(), multires_modifier_update_mdisps(), and multiresModifier_del_levels().
| void multires_stitch_grids | ( | Object * | ob | ) |
Definition at line 1205 of file multires.c.
References BKE_pbvh_get_grid_updates(), BKE_pbvh_type(), BKE_subdiv_ccg_average_stitch_faces(), BLI_assert, faces, MEM_freeN, NULL, SculptSession::pbvh, PBVH_GRIDS, Object::sculpt, and SculptSession::subdiv_ccg.
Referenced by sculpt_fix_noise_tear(), and sculpt_mask_init_exec().
Definition at line 1377 of file multires.c.
References Object::data, get_multires_modifier(), multires_customdata_delete(), multiresModifier_sync_levels_ex(), and scene.
Referenced by multiresModifier_prepare_join().
| void multires_topology_changed | ( | Mesh * | me | ) |
Definition at line 1479 of file multires.c.
References CD_MASK_MDISPS, CD_MDISPS, CustomData_external_read(), CustomData_get_layer(), MDisps::disps, Mesh::id, Mesh::ldata, MEM_calloc_arrayN, NULL, MDisps::totdisp, and Mesh::totloop.
Referenced by BM_mesh_bm_to_me().
| void multiresModifier_del_levels | ( | MultiresModifierData * | mmd, |
| Scene * | scene, | ||
| Object * | ob, | ||
| int | direction | ||
| ) |
Definition at line 722 of file multires.c.
References BKE_mesh_from_object(), CD_MDISPS, CustomData_get_layer(), Mesh::ldata, multires_del_higher(), multires_force_sculpt_rebuild(), multires_get_level(), multires_set_tot_level(), multires_set_tot_mdisps(), multiresModifier_ensure_external_read(), scene, and MultiresModifierData::totlvl.
Referenced by multires_higher_levels_delete_exec().
|
static |
Definition at line 963 of file multires.c.
References APPLY_DISPLACEMENTS, BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), CALC_DISPLACEMENTS, CCG_TASK_LIMIT, ccgSubSurf_stitchFaces(), ccgSubSurf_updateNormals(), CD_DEFAULT, CD_GRID_PAINT_MASK, CD_MDISPS, CD_MPOLY, CustomData_add_layer(), CustomData_get_layer(), CustomData_has_layer(), data, DerivedMesh::getGridData, DerivedMesh::getGridKey, DerivedMesh::getGridOffset, DerivedMesh::getGridSize, CCGKey::has_mask, Mesh::ldata, DerivedMesh::loopData, TaskParallelSettings::min_iter_per_thread, Mesh::mpoly, multires_disp_run_cb(), multires_reallocate_mdisps(), multires_side_tot, NULL, DerivedMesh::numLoopData, DerivedMesh::numPolyData, DerivedMesh::polyData, CCGDerivedMesh::ss, Mesh::totloop, and Mesh::totpoly.
Referenced by multires_make_derived_from_derived(), and multires_modifier_update_mdisps().
| void multiresModifier_ensure_external_read | ( | struct Mesh * | mesh, |
| const MultiresModifierData * | mmd | ||
| ) |
Definition at line 1546 of file multires.c.
References mesh, multires_ensure_external_read(), and MultiresModifierData::totlvl.
Referenced by multires_apply_smat(), multires_del_higher(), multires_make_derived_from_derived(), multires_modifier_update_mdisps(), and multiresModifier_del_levels().
| void multiresModifier_prepare_join | ( | struct Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| Object * | ob, | ||
| Object * | to_ob | ||
| ) |
Definition at line 1461 of file multires.c.
References BKE_object_scale_to_mat3(), depsgraph, invert_m3(), mul_m3_m3m3(), multires_apply_smat(), multires_sync_levels(), and scene.
Referenced by join_mesh_single().
Definition at line 1451 of file multires.c.
References BKE_object_scale_to_mat3(), depsgraph, multires_apply_smat(), and scene.
Referenced by apply_objects_internal().
| void multiresModifier_set_levels_from_disps | ( | MultiresModifierData * | mmd, |
| Object * | ob | ||
| ) |
Definition at line 529 of file multires.c.
References BMEditMesh::bm, CD_MDISPS, CustomData_get_layer(), Object::data, Mesh::edit_mesh, get_levels_from_disps(), BMesh::ldata, Mesh::ldata, MultiresModifierData::lvl, MIN2, MultiresModifierData::renderlvl, MultiresModifierData::sculptlvl, and MultiresModifierData::totlvl.
Referenced by BKE_modifiers_test_object(), and ED_object_modifier_add().
| void multiresModifier_sync_levels_ex | ( | Object * | ob_dst, |
| MultiresModifierData * | mmd_src, | ||
| MultiresModifierData * | mmd_dst | ||
| ) |
Definition at line 1360 of file multires.c.
References multires_del_higher(), MULTIRES_SUBDIVIDE_CATMULL_CLARK, multiresModifier_subdivide_to_level(), and MultiresModifierData::totlvl.
Referenced by BKE_object_copy_modifier(), and multires_sync_levels().
Definition at line 1305 of file multires.c.
References add_v3_v3v3(), floor(), libmv::isnan(), mul_v3_fl(), mul_v3_v3fl(), v, x, x2, and y.
Referenced by loop_interp_multires_cb().
|
static |
Definition at line 768 of file multires.c.
References eSubsurfModifierFlag_ControlEdges, SubsurfModifierData::flags, SubsurfModifierData::levels, ME_SIMPLE_SUBSURF, Object::mode, NULL, OB_MODE_EDIT, SubsurfModifierData::quality, SubsurfModifierData::renderLevels, scene, SubsurfModifierData::subdivType, SUBSURF_ALLOC_PAINT_MASK, SUBSURF_IN_EDIT_MODE, subsurf_make_derived_from_derived(), SUBSURF_USE_RENDER_PARAMS, SUBSURF_UV_SMOOTH_NONE, SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, and SubsurfModifierData::uv_smooth.
Referenced by multires_make_derived_from_derived(), and multires_modifier_update_mdisps().
|
static |
Definition at line 66 of file multires.c.
Referenced by multires_del_higher(), multires_ensure_external_read(), multires_reallocate_mdisps(), and multires_set_tot_mdisps().
|
static |
Definition at line 68 of file multires.c.
Referenced by multires_del_higher(), and multiresModifier_disp_run().