From ae6300a8b74b487d9c2cbcf18f36719654ac5e72 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 22 Jun 2019 23:43:25 +0200 Subject: [PATCH] Fix T66022: crash adding subdivision surface modifier to some meshes This reverts commit 7c9f64d00835: "Fix T63766: Multiresolution behavior when using crease edge" --- intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc index 198f985a233..fa45c0119ec 100644 --- a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc +++ b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc @@ -771,8 +771,11 @@ OpenSubdiv_EvaluatorInternal *openSubdiv_createEvaluatorInternal( } #endif // Generate bi-cubic patch table for the limit surface. + // TODO(sergey): Ideally we would want to expose end-cap settings via + // C-API to make it more generic. Currently it matches old Blender's + // subsurf code. PatchTableFactory::Options patch_options(level); - patch_options.SetEndCapType(PatchTableFactory::Options::ENDCAP_GREGORY_BASIS); + patch_options.SetEndCapType(PatchTableFactory::Options::ENDCAP_BSPLINE_BASIS); patch_options.useInfSharpPatch = use_inf_sharp_patch; patch_options.generateFVarTables = has_face_varying_data; patch_options.generateFVarLegacyLinearPatches = false;