diff options
Diffstat (limited to 'source/blender/blenkernel/intern/subdiv.c')
-rw-r--r-- | source/blender/blenkernel/intern/subdiv.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/subdiv.c b/source/blender/blenkernel/intern/subdiv.c index 207fdf43c55..4f630e8c38c 100644 --- a/source/blender/blenkernel/intern/subdiv.c +++ b/source/blender/blenkernel/intern/subdiv.c @@ -30,6 +30,7 @@ #include "BKE_subdiv.h" #include "DNA_mesh_types.h" +#include "DNA_modifier_types.h" #include "BLI_utildefines.h" @@ -42,6 +43,27 @@ #include "opensubdiv_evaluator_capi.h" #include "opensubdiv_topology_refiner_capi.h" +eSubdivFVarLinearInterpolation +BKE_subdiv_fvar_interpolation_from_uv_smooth(int uv_smooth) +{ + switch (uv_smooth) { + case SUBSURF_UV_SMOOTH_NONE: + return SUBDIV_FVAR_LINEAR_INTERPOLATION_ALL; + case SUBSURF_UV_SMOOTH_PRESERVE_CORNERS: + return SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_ONLY; + case SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_AND_JUNCTIONS: + return SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_AND_JUNCTIONS; + case SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE: + return SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_JUNCTIONS_AND_CONCAVE; + case SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES: + return SUBDIV_FVAR_LINEAR_INTERPOLATION_BOUNDARIES; + case SUBSURF_UV_SMOOTH_ALL: + return SUBDIV_FVAR_LINEAR_INTERPOLATION_NONE; + } + BLI_assert(!"Unknown uv smooth flag"); + return SUBSURF_UV_SMOOTH_NONE; +} + Subdiv *BKE_subdiv_new_from_converter(const SubdivSettings *settings, struct OpenSubdiv_Converter *converter) { |