Blender
V4.5
source
blender
blenkernel
intern
multires_subdiv.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2018 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#include "
BKE_modifier.hh
"
10
#include "
BKE_multires.hh
"
11
#include "
BKE_subdiv.hh
"
12
#include "
BKE_subdiv_mesh.hh
"
13
14
void
BKE_multires_subdiv_settings_init
(
blender::bke::subdiv::Settings
*settings,
15
const
MultiresModifierData
*mmd)
16
{
17
settings->
is_simple
=
false
;
18
settings->
is_adaptive
=
true
;
19
settings->
level
= settings->
is_simple
? 1 : mmd->
quality
;
20
settings->
use_creases
= (mmd->
flags
&
eMultiresModifierFlag_UseCrease
);
21
settings->
vtx_boundary_interpolation
=
22
blender::bke::subdiv::vtx_boundary_interpolation_from_subsurf
(mmd->
boundary_smooth
);
23
settings->
fvar_linear_interpolation
=
blender::bke::subdiv::fvar_interpolation_from_uv_smooth
(
24
mmd->
uv_smooth
);
25
}
26
27
void
BKE_multires_subdiv_mesh_settings_init
(
blender::bke::subdiv::ToMeshSettings
*mesh_settings,
28
const
Scene
*scene,
29
const
Object
*
object
,
30
const
MultiresModifierData
*mmd,
31
const
bool
use_render_params,
32
const
bool
ignore_simplify,
33
const
bool
ignore_control_edges)
34
{
35
const
int
level =
multires_get_level
(scene,
object
, mmd, use_render_params, ignore_simplify);
36
mesh_settings->
resolution
= (1 << level) + 1;
37
mesh_settings->
use_optimal_display
= (mmd->
flags
&
eMultiresModifierFlag_ControlEdges
) &&
38
!ignore_control_edges;
39
}
BKE_modifier.hh
BKE_multires.hh
BKE_multires_subdiv_settings_init
void BKE_multires_subdiv_settings_init(blender::bke::subdiv::Settings *settings, const MultiresModifierData *mmd)
Definition
multires_subdiv.cc:14
BKE_multires_subdiv_mesh_settings_init
void BKE_multires_subdiv_mesh_settings_init(blender::bke::subdiv::ToMeshSettings *mesh_settings, const Scene *scene, const Object *object, const MultiresModifierData *mmd, bool use_render_params, bool ignore_simplify, bool ignore_control_edges)
Definition
multires_subdiv.cc:27
multires_get_level
int multires_get_level(const Scene *scene, const Object *ob, const MultiresModifierData *mmd, bool render, bool ignore_simplify)
Definition
multires.cc:323
BKE_subdiv.hh
BKE_subdiv_mesh.hh
eMultiresModifierFlag_UseCrease
@ eMultiresModifierFlag_UseCrease
Definition
DNA_modifier_types.h:1176
eMultiresModifierFlag_ControlEdges
@ eMultiresModifierFlag_ControlEdges
Definition
DNA_modifier_types.h:1173
blender::bke::subdiv::fvar_interpolation_from_uv_smooth
FVarLinearInterpolation fvar_interpolation_from_uv_smooth(int uv_smooth)
Definition
subdiv.cc:47
blender::bke::subdiv::vtx_boundary_interpolation_from_subsurf
VtxBoundaryInterpolation vtx_boundary_interpolation_from_subsurf(int boundary_smooth)
Definition
subdiv.cc:67
MultiresModifierData
Definition
DNA_modifier_types.h:1158
MultiresModifierData::boundary_smooth
short boundary_smooth
Definition
DNA_modifier_types.h:1168
MultiresModifierData::uv_smooth
short uv_smooth
Definition
DNA_modifier_types.h:1167
MultiresModifierData::quality
short quality
Definition
DNA_modifier_types.h:1166
MultiresModifierData::flags
char flags
Definition
DNA_modifier_types.h:1165
Object
Definition
DNA_object_types.h:192
Scene
Definition
DNA_scene_types.h:2106
blender::bke::subdiv::Settings
Definition
BKE_subdiv.hh:41
blender::bke::subdiv::Settings::is_adaptive
bool is_adaptive
Definition
BKE_subdiv.hh:59
blender::bke::subdiv::Settings::level
int level
Definition
BKE_subdiv.hh:65
blender::bke::subdiv::Settings::vtx_boundary_interpolation
VtxBoundaryInterpolation vtx_boundary_interpolation
Definition
BKE_subdiv.hh:69
blender::bke::subdiv::Settings::fvar_linear_interpolation
FVarLinearInterpolation fvar_linear_interpolation
Definition
BKE_subdiv.hh:70
blender::bke::subdiv::Settings::is_simple
bool is_simple
Definition
BKE_subdiv.hh:47
blender::bke::subdiv::Settings::use_creases
bool use_creases
Definition
BKE_subdiv.hh:67
blender::bke::subdiv::ToMeshSettings
Definition
BKE_subdiv_mesh.hh:20
blender::bke::subdiv::ToMeshSettings::use_optimal_display
bool use_optimal_display
Definition
BKE_subdiv_mesh.hh:30
blender::bke::subdiv::ToMeshSettings::resolution
int resolution
Definition
BKE_subdiv_mesh.hh:28
Generated on
for Blender by
doxygen
1.18.0