Updated the Metal viewer runtime options to more
closely match the other viewers:
- default to adaptive tessellation
- default to patch type coloring
- present end cap options as: Linear/Regular/Gregory
- exposed switches for patch refinement options:
smooth corner, single crease, inf sharp
- updated fvar linear interpolation labels
and methods to match glFVarViewer
- updated iOS Main.storyboard GUI to match
Refactored the Metal viewer's implementation of
smooth face-varying uv interpolation so that the
face-varying patch basis is correctly determined
by inspecting the face-varying patch array type
descriptors.
Fixed smooth face-varying interpolation for the Metal viewer
when using screen-space tessellation. The location to evaluate
the face-varying value needs to match the computed tess location
instead of the intrinsic position_in_patch.
Moved Metal shader code used for evaluation of legacy gregory patches
to a separate source file.
These methods should not be used for new development, but are provided
for backward compatibility.
- added checkboxes for Control Edges and Vertices as used elsewhere
- added checkbox for UV Backface Culling specific to this example
- relabeled the Boundaries pulldown to Linear Interpolation
- renamed variables in source to better reflect the affected enum
- added missing vertex texture or normal entry when only one missing
- removed texture or normal indices from face definitions when none present
- removed normals when incomplete and not correlated with face definitions
- added cases for x-ord boundaries and interior to match Loop
- added cases for valence-2 interior and non-quad faces
- updated all.h for the new additions
- added pair of shapes to better cover non-manifold features
- added pair of shapes to consolidate variations of creased cubes
- updated all.h to include new shapes
This matches the current GLSL implementation:
- BoxSplineTriangle and GregoryTriangle patch shaders
- tess factor and tess evalutation for triangle patches
- improved adaptive tessellation code organization and function names
- quartic Bezier triangle patch evaluation
- OsdGetPatchIsTriangleRotated() function added
- OsdInterpolatePatchCoordTriangle() function added
Moved shader code used for evaluation of legacy gregory patches.
These methods should not be used for new development, but are provided
for backward compatibility.
- updated all examples/gl* to make use of common/argOptions.h
- implemented -yup where user-supplied geometry is imported
- updated glPtexViewer to use ObjAnim class for animated geometry
- added definition to regression/common/shape_utils.h
- removed examples/common/shapeDesc.h and all references to it
- removed local definitions of ShapeDesc from examples, regressions, etc.
- overloaded Shape::parseObj() with ShapeDesc
- updated examples to use Shape::parseObj(ShapeDesc const&);
- removed axis argument to Shape::ParseObj() and ObjAnim::Create()
- replaced -axis with -yup in examples/common/argOptions
- updated clients of ArgOptions: glViewer, glFVarViewer, dxViewer
- updated documentation for common arguments and usage of examples
- reverted section header titles to match existing external links
- modified internal explicit targets to match existing external links
- changed internal links to match restored section titles and targets