- renamed core "LimitPoints" functions to reflect the patch type (Bezier)
- overloaded new functions with the additionally computed tess level
- preserved stubs of all "LimitPoints" functions for compatibility
- changed Far::PatchDescriptor size for GREGORY_TRIANGLE to 18
- modified Far::LoopPatchBuilder to construct full quartic Gregory patch
- fixed Far::LoopPatchBuilder bug related to face points near boundaries
- updated Far patch basis evaluation for Gregory and Bezier triangles
- updated Osd patch basis evaluation to match Far
- updated Osd GLSL patch size for Gregory triangle to 18
- modified Osd GLSL Gregory triangle eval and tess settings for quartic
- updated sizes for the Box-spline triangle shader to generate 15 points
- updated conversion of Box-spline from hybrid Bezier to fully quartic
- added resolution of degenerate normal to Bezier triangle evaluation
- updated hybrid Gregory triangle conversion to quartic Bezier
- updated adaptive tessellation of Bezier triangle for quartic boundaries
- Added GLSL patch shaders for BoxSplineTriangle and GregoryTriangle
patches. These both convert to a hybrid Bezier patch for drawing
similar to the basis conversion done for quad patches.
- Added evaluation of hybrid Bezier triangle patches and
GregoryTriangle patches to the common shader source.
- Added OsdGetPatchIsTriangleRotated() to detect rotated triangles.
- Added OsdInterpolatePatchCoordTriangle() for eval of triangle patches.
- Added boundary point extrapolation for BoxSplineTriangle patches.
- Fixed boundary point extrapolation for unisolated BSpline patches.
- Added tess factor and tess evaluation location computation for
triangle patches.
- Limit surface edge mid points for both quad and triangle patches
are now computed directly.