26 #include <opensubdiv/sdc/crease.h>
29 namespace opensubdiv {
35 return OpenSubdiv::Sdc::SCHEME_BILINEAR;
37 return OpenSubdiv::Sdc::SCHEME_CATMARK;
39 return OpenSubdiv::Sdc::SCHEME_LOOP;
41 assert(!
"Unknown scheme type passed via C-API");
42 return OpenSubdiv::Sdc::SCHEME_CATMARK;
48 typedef OpenSubdiv::Sdc::Options
Options;
51 return Options::FVAR_LINEAR_NONE;
53 return Options::FVAR_LINEAR_CORNERS_ONLY;
55 return Options::FVAR_LINEAR_CORNERS_PLUS1;
57 return Options::FVAR_LINEAR_CORNERS_PLUS2;
59 return Options::FVAR_LINEAR_BOUNDARIES;
61 return Options::FVAR_LINEAR_ALL;
63 assert(!
"Unknown fvar linear interpolation passed via C-API");
64 return Options::FVAR_LINEAR_NONE;
70 typedef OpenSubdiv::Sdc::Options
Options;
72 case Options::FVAR_LINEAR_NONE:
74 case Options::FVAR_LINEAR_CORNERS_ONLY:
76 case Options::FVAR_LINEAR_CORNERS_PLUS1:
78 case Options::FVAR_LINEAR_CORNERS_PLUS2:
80 case Options::FVAR_LINEAR_BOUNDARIES:
82 case Options::FVAR_LINEAR_ALL:
85 assert(!
"Unknown fvar linear interpolation passed via C-API");
92 using OpenSubdiv::Sdc::Options;
94 switch (boundary_interpolation) {
96 return Options::VTX_BOUNDARY_NONE;
98 return Options::VTX_BOUNDARY_EDGE_ONLY;
100 return Options::VTX_BOUNDARY_EDGE_AND_CORNER;
102 assert(!
"Unknown veretx boundary interpolation.");
103 return Options::VTX_BOUNDARY_EDGE_ONLY;
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
static void linear_interpolation(const T &a, const T &b, MutableSpan< T > dst)
OpenSubdiv_FVarLinearInterpolation getCAPIFVarLinearInterpolationFromOSD(OpenSubdiv::Sdc::Options::FVarLinearInterpolation linear_interpolation)
OpenSubdiv::Sdc::Options::VtxBoundaryInterpolation getVtxBoundaryInterpolationFromCAPI(OpenSubdiv_VtxBoundaryInterpolation boundary_interpolation)
OpenSubdiv::Sdc::SchemeType getSchemeTypeFromCAPI(OpenSubdiv_SchemeType type)
OpenSubdiv::Sdc::Options::FVarLinearInterpolation getFVarLinearInterpolationFromCAPI(OpenSubdiv_FVarLinearInterpolation linear_interpolation)
OpenSubdiv_FVarLinearInterpolation
@ OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_ONLY
@ OSD_FVAR_LINEAR_INTERPOLATION_ALL
@ OSD_FVAR_LINEAR_INTERPOLATION_NONE
@ OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_PLUS1
@ OSD_FVAR_LINEAR_INTERPOLATION_BOUNDARIES
@ OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_PLUS2
OpenSubdiv_VtxBoundaryInterpolation
@ OSD_VTX_BOUNDARY_EDGE_AND_CORNER
@ OSD_VTX_BOUNDARY_EDGE_ONLY