mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2025-01-05 14:31:07 +00:00
89f00d3603
- added UVs to non-manifold shape sets for both Catmark and Loop - added UVs to the semi-sharp and inf-sharp variations of Catmark cubes
179 lines
4.2 KiB
C++
179 lines
4.2 KiB
C++
//
|
|
// Copyright 2019 DreamWorks Animation LLC.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
// with the following modification; you may not use this file except in
|
|
// compliance with the Apache License and the following modification to it:
|
|
// Section 6. Trademarks. is deleted and replaced with:
|
|
//
|
|
// 6. Trademarks. This License does not grant permission to use the trade
|
|
// names, trademarks, service marks, or product names of the Licensor
|
|
// and its affiliates, except as required to comply with Section 4(c) of
|
|
// the License and to reproduce the content of the NOTICE file.
|
|
//
|
|
// You may obtain a copy of the Apache License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the Apache License with the above modification is
|
|
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
// KIND, either express or implied. See the Apache License for the specific
|
|
// language governing permissions and limitations under the Apache License.
|
|
//
|
|
|
|
static const std::string catmark_nonman_verts =
|
|
"#\n"
|
|
"# Four shapes ordered left->right and top->bottom in the XZ plane\n"
|
|
"#\n"
|
|
"# Shape 1: top-left\n"
|
|
"#\n"
|
|
"v -1.25 0 0.75\n"
|
|
"v -0.75 -0.3 0.75\n"
|
|
"v -0.25 0 0.75\n"
|
|
"v -1.25 0 1.25\n"
|
|
"v -0.75 0 1.25\n"
|
|
"v -0.25 0 1.25\n"
|
|
"v -1.0 0 0.5 \n"
|
|
"v -0.75 0 0.25 \n"
|
|
"v -0.5 0 0.5 \n"
|
|
"#\n"
|
|
"vt 0.05 0.85\n"
|
|
"vt 0.25 0.75\n"
|
|
"vt 0.45 0.85\n"
|
|
"vt 0.05 1.00\n"
|
|
"vt 0.25 0.90\n"
|
|
"vt 0.45 1.00\n"
|
|
"vt 0.15 0.65\n"
|
|
"vt 0.25 0.55\n"
|
|
"vt 0.35 0.65\n"
|
|
"\n"
|
|
"f 1/1 2/2 5/5 4/4\n"
|
|
"f 2/2 3/3 6/6 5/5\n"
|
|
"f 2/2 7/7 8/8 9/9\n"
|
|
"\n"
|
|
"#\n"
|
|
"# Shape 2: top-right\n"
|
|
"#\n"
|
|
"v 0.25 0 0.85\n"
|
|
"v 0.75 -0.3 0.75\n"
|
|
"v 1.25 0 0.85\n"
|
|
"v 0.25 0 1.25\n"
|
|
"v 0.75 0 1.25\n"
|
|
"v 1.25 0 1.25\n"
|
|
"v 0.25 0 0.65\n"
|
|
"v 1.25 0 0.65\n"
|
|
"v 0.25 0 0.25\n"
|
|
"v 0.75 0 0.25\n"
|
|
"v 1.25 0 0.25\n"
|
|
"\n"
|
|
"vt 0.55 0.85\n"
|
|
"vt 0.75 0.76\n"
|
|
"vt 0.95 0.85\n"
|
|
"vt 0.55 1.00\n"
|
|
"vt 0.75 0.90\n"
|
|
"vt 0.95 1.00\n"
|
|
"vt 0.55 0.65\n"
|
|
"vt 0.95 0.65\n"
|
|
"vt 0.55 0.50\n"
|
|
"vt 0.75 0.60\n"
|
|
"vt 0.95 0.50\n"
|
|
"vt 0.75 0.74\n"
|
|
"\n"
|
|
"f 10/10 11/11 14/14 13/13\n"
|
|
"f 11/11 12/12 15/15 14/14\n"
|
|
"f 11/21 16/16 18/18 19/19\n"
|
|
"f 17/17 11/21 19/19 20/20\n"
|
|
"\n"
|
|
"#\n"
|
|
"# Shape 3: bottom-left\n"
|
|
"#\n"
|
|
"v -1.25 -0.5 -1.25\n"
|
|
"v -0.75 -0.5 -1.25\n"
|
|
"v -0.25 -0.5 -1.25\n"
|
|
"v -1.25 0 -1.25\n"
|
|
"v -0.75 0 -0.75\n"
|
|
"v -0.25 0 -1.25\n"
|
|
"v -1.25 0.5 -1.25\n"
|
|
"v -0.75 0.5 -1.25\n"
|
|
"v -0.25 0.5 -1.25\n"
|
|
"v -1.1 0 -0.25\n"
|
|
"v -0.4 0 -0.25\n"
|
|
"#\n"
|
|
"vt 0.15 0.025\n"
|
|
"vt 0.25 0.025\n"
|
|
"vt 0.35 0.025\n"
|
|
"vt 0.15 0.125\n"
|
|
"vt 0.25 0.125\n"
|
|
"vt 0.35 0.125\n"
|
|
"vt 0.15 0.225\n"
|
|
"vt 0.25 0.225\n"
|
|
"vt 0.35 0.225\n"
|
|
"vt 0.15 0.45\n"
|
|
"vt 0.35 0.45\n"
|
|
"vt 0.25 0.30\n"
|
|
"\n"
|
|
"f 21/22 22/23 25/26 24/25\n"
|
|
"f 22/23 23/24 26/27 25/26\n"
|
|
"f 24/25 25/26 28/29 27/28\n"
|
|
"f 25/26 26/27 29/30 28/29\n"
|
|
"f 30/31 25/33 31/32\n"
|
|
"\n"
|
|
"#\n"
|
|
"# Shape 4: bottom-right\n"
|
|
"#\n"
|
|
"v 0.25 -0.5 -1.25\n"
|
|
"v 0.75 -0.5 -1.25\n"
|
|
"v 1.25 -0.5 -1.25\n"
|
|
"v 0.25 0 -1.25\n"
|
|
"v 0.75 0 -0.75\n"
|
|
"v 1.25 0 -1.25\n"
|
|
"v 0.25 0.5 -1.25\n"
|
|
"v 0.75 0.5 -1.25\n"
|
|
"v 1.25 0.5 -1.25\n"
|
|
"v 0.25 -0.5 -0.25\n"
|
|
"v 0.75 -0.5 -0.25\n"
|
|
"v 1.25 -0.5 -0.25\n"
|
|
"v 0.25 0 -0.25\n"
|
|
"v 1.25 0 -0.25\n"
|
|
"v 0.25 0.5 -0.25\n"
|
|
"v 0.75 0.5 -0.25\n"
|
|
"v 1.25 0.5 -0.25\n"
|
|
"#\n"
|
|
"vt 0.65 0.025\n"
|
|
"vt 0.75 0.025\n"
|
|
"vt 0.85 0.025\n"
|
|
"vt 0.65 0.125\n"
|
|
"vt 0.75 0.125\n"
|
|
"vt 0.85 0.125\n"
|
|
"vt 0.65 0.225\n"
|
|
"vt 0.75 0.225\n"
|
|
"vt 0.85 0.225\n"
|
|
"vt 0.65 0.475\n"
|
|
"vt 0.75 0.475\n"
|
|
"vt 0.85 0.475\n"
|
|
"vt 0.65 0.375\n"
|
|
"vt 0.85 0.375\n"
|
|
"vt 0.65 0.275\n"
|
|
"vt 0.75 0.275\n"
|
|
"vt 0.85 0.275\n"
|
|
"vt 0.75 0.375\n"
|
|
"\n"
|
|
"f 32/34 33/35 36/38 35/37\n"
|
|
"f 33/35 34/36 37/39 36/38\n"
|
|
"f 35/37 36/38 39/41 38/40\n"
|
|
"f 36/38 37/39 40/42 39/41\n"
|
|
"f 41/43 44/46 36/51 42/44\n"
|
|
"f 42/44 36/51 45/47 43/45\n"
|
|
"f 44/46 46/48 47/49 36/51\n"
|
|
"f 36/51 47/49 48/50 45/47\n"
|
|
"\n"
|
|
"#\n"
|
|
"# Additional 'shape' 5: isolated non-manifold vertex in center\n"
|
|
"#\n"
|
|
"v 0 0 0\n"
|
|
"\n"
|
|
"t interpolateboundary 1/0/0 1\n"
|
|
"\n"
|
|
;
|