Blender  V3.3
multires_subdiv.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2018 Blender Foundation. All rights reserved. */
3 
8 #include "MEM_guardedalloc.h"
9 
10 #include "DNA_mesh_types.h"
11 #include "DNA_scene_types.h"
12 
13 #include "BLI_utildefines.h"
14 
15 #include "BKE_mesh.h"
16 #include "BKE_modifier.h"
17 #include "BKE_multires.h"
18 #include "BKE_subdiv.h"
19 #include "BKE_subdiv_mesh.h"
20 
22 {
23  settings->is_simple = false;
24  settings->is_adaptive = true;
25  settings->level = settings->is_simple ? 1 : mmd->quality;
28  mmd->boundary_smooth);
30  mmd->uv_smooth);
31 }
32 
34  const Scene *scene,
35  const Object *object,
36  const MultiresModifierData *mmd,
37  const bool use_render_params,
38  const bool ignore_simplify,
39  const bool ignore_control_edges)
40 {
41  const int level = multires_get_level(scene, object, mmd, use_render_params, ignore_simplify);
42  mesh_settings->resolution = (1 << level) + 1;
44  !ignore_control_edges;
45 }
int multires_get_level(const struct Scene *scene, const struct Object *ob, const struct MultiresModifierData *mmd, bool render, bool ignore_simplify)
eSubdivVtxBoundaryInterpolation BKE_subdiv_vtx_boundary_interpolation_from_subsurf(int boundary_smooth)
Definition: subdiv.c:66
eSubdivFVarLinearInterpolation BKE_subdiv_fvar_interpolation_from_uv_smooth(int uv_smooth)
Definition: subdiv.c:46
@ eMultiresModifierFlag_UseCrease
@ eMultiresModifierFlag_ControlEdges
Read Guarded memory(de)allocation.
Scene scene
void BKE_multires_subdiv_settings_init(SubdivSettings *settings, const MultiresModifierData *mmd)
void BKE_multires_subdiv_mesh_settings_init(SubdivToMeshSettings *mesh_settings, const Scene *scene, const Object *object, const MultiresModifierData *mmd, const bool use_render_params, const bool ignore_simplify, const bool ignore_control_edges)
bool is_adaptive
Definition: BKE_subdiv.h:60
eSubdivFVarLinearInterpolation fvar_linear_interpolation
Definition: BKE_subdiv.h:71
bool use_creases
Definition: BKE_subdiv.h:68
eSubdivVtxBoundaryInterpolation vtx_boundary_interpolation
Definition: BKE_subdiv.h:70