22 num_subd_added_verts = 0;
25 OsdMesh osd_mesh(*
this);
30 osd_data.build(osd_mesh);
45 for (
int f = 0; f < num_faces; f++) {
60 OsdPatch *patch = osd_patches.data();
62 for (
int f = 0; f < num_faces; f++) {
67 patch->from_ngon =
false;
68 patch->shader = face.
shader;
69 patch->smooth = face.
smooth;
73 for (
int corner = 0; corner < face.
num_corners; corner++) {
75 patch->from_ngon =
true;
76 patch->shader = face.
shader;
77 patch->smooth = face.
smooth;
85 split.split_patches(osd_patches.data(),
sizeof(OsdPatch));
100 for (
int f = 0; f < num_faces; f++) {
124 for (
int corner = 0; corner < face.
num_corners; corner++) {
125 center_vert +=
verts[subd_face_corners[face.
start_corner + corner]] * inv_num_corners;
128 for (
int corner = 0; corner < face.
num_corners; corner++) {
145 hull[3] = center_vert;
157#ifdef WITH_OPENSUBDIV
VecBase< float, D > constexpr mod(VecOp< float, D >, VecOp< float, D >) RET