Fix T63766: Multiresolution behavior when using crease edge
Switch to Gregory basis patches which are tangent continuous across their boundaries. Originally we've used BSpline basis patches to be more compatible with the old subdivision code, but a lot of things changed anyway.
This commit is contained in:
parent
83a4f5600d
commit
7c9f64d008
Notes:
blender-bot
2023-02-14 03:46:57 +01:00
Referenced by commit ae6300a8b7
, Fix T66022: crash adding subdivision surface modifier to some meshes
Referenced by issue #63766, Multiresolution behavior when using crease edge
|
@ -771,11 +771,8 @@ 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_BSPLINE_BASIS);
|
||||
patch_options.SetEndCapType(PatchTableFactory::Options::ENDCAP_GREGORY_BASIS);
|
||||
patch_options.useInfSharpPatch = use_inf_sharp_patch;
|
||||
patch_options.generateFVarTables = has_face_varying_data;
|
||||
patch_options.generateFVarLegacyLinearPatches = false;
|
||||
|
|
Loading…
Reference in New Issue