The example code that uses Metal forces C++11 features, therefore
we have to turn it on clang so that we can enable the building of
compatible code that can be used by Metal and GL at the same time.
The build script assumed that we always had ZLIB, but we only add it when we
build ptex. Instead of removing it on Linux, we now only add it when we need
to on non-Linux platforms.
On Windows we now look for and use an explicit python interpreter to
find the version of docutils installed. There is more information in
the commit, but it would result in a much cleaner change if we could
decide that it's okay to do this for all platforms. For now, just do it
for Windows to get us unblocked.
This script is intended to make building OpenSubdiv with all its various options easier to manage. It will automatically download and install the dependencies where it can (e.g., it can get GLEW automatically, but it can't get the CUDA SDK).
This is a fork of the similar script found in the USD repo.
- Add search path for Windows 10 support for DirectX SDK
- Turn off searching the default paths for the DirectX libraries and
instead use the explicit paths provided. On certain configurations,
this fixes the case where cmake will pick up the librariees for the wrong
architecture
- Be more explicit when a required DirectX library is not found instead
of silent failure.
As mentioned in issue #997, OpenSubdiv still uses CUDA functionality
that is being deprecated. When warnings are treated as errors, this
can make OpenSubdiv fail to compile. For now, we turn off these
deprecation warnings until we can address them.
- added far/tutorial_10 illustrating variable width vertex class
- revised far/tutorial_9 for command line and documentation conventions
- updated doc/tutorials.rst with missing and new tutorial descriptions
- addition of new shapes -- mainly Loop and Bilinear
- removal of redundant shapes and those not suited to a particular example
- enforced consistent "Patch Type" coloring where provided
- enforced consistent command line usage for common options and Obj input
- enforced consistent default settings on initialization
- added errors and/or assertions where legitimate limitations remain
- improved error handling (OSD errors not being flushed before termination)
The computation to adjust patch evaluation weights
for box spline triangle patches to account for boundaries
has been updated to use simple conditional logic instead
of index indirection tables. This results in better register
resource usage for some shader compiler implementations.
Previously, these methods could fail to compile on some
systems.
- replaced use of "LimitPoints" functions in all patch shaders
- removed the unreleased "LimitPointsTriangle" functions
- added internal tess functions for processing patch boundaries
- updated Bezier quad and tri tess evaluation to use boundary functions
- 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