Commit Graph

2733 Commits

Author SHA1 Message Date
Pol
c5ba79618b
Merge pull request #1067 from c64kernal/dev_cudadep
Turn off CUDA deprecation warnings until addressed
2019-03-04 15:08:19 -08:00
Pol
2534b3881e
Merge pull request #1066 from c64kernal/dev_dxsdk
Add support for newer DirectX SDKs
2019-03-04 15:05:08 -08:00
George ElKoura
a3ad4a51dc Removed unused old logo images from documentation 2019-03-02 23:43:57 -08:00
George ElKoura
67fbf96014 Use new OpenSubdiv logos 2019-03-02 23:35:54 -08:00
George ElKoura
7eef4c33e1 Allow using docutils on Windows
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.
2019-03-02 12:17:04 -08:00
George ElKoura
57aeaeaa8a Update README for documentation build requirements
- Split out the requirements for building docs into their own table
- Added missing dependency on graphviz
2019-03-02 12:12:07 -08:00
George ElKoura
7edf03e4b5 Prototype build and install script for OpenSubdiv
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.
2019-03-02 00:09:47 -08:00
George ElKoura
9fa434e27c Add support for newer DirectX SDKs
- 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.
2019-03-01 22:44:16 -08:00
George ElKoura
08c04c9a61 Turn off CUDA deprecation warnings until addressed
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.
2019-03-01 22:40:26 -08:00
Barry Fowler
0cd7a01f08
Merge pull request #1065 from c64kernal/dev_doc
Minor modification to the contribution docs.
2019-02-28 09:48:21 -08:00
George ElKoura
409669b7f9 Minor modification to the contribution docs.
- Removed explicit username and replaced it with generic example username.
2019-02-27 16:52:44 -08:00
David G Yu
6e52c57a0e
Merge pull request #1062 from barfowl/far_tutorial_additions
Additions and minor improvements to far/tutorials
2019-02-14 15:04:01 -08:00
David G Yu
aa3f75fe5f
Merge pull request #1060 from barfowl/glsl_tri_degen_normal
Minor improvement to degenerate normals in GLSL Bezier triangle
2019-02-14 11:22:04 -08:00
barry
6cae3a8e6d Additions and minor improvements to far/tutorials:
- 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
2019-02-13 11:37:41 -08:00
barry
1cdbb7246a Minor improvement to degenerate normals in GLSL Bezier triangle:
- negate derivative terms when evaluating points on edge where u + v = 1
2019-02-11 18:05:08 -08:00
David G Yu
ec231f842d
Merge pull request #1058 from barfowl/examples_glfvarviewer_options
Added options to glFVarViewer example consistent with glViewer
2019-02-06 22:33:12 -08:00
David G Yu
e5ace59631
Merge pull request #1057 from barfowl/far_boundary_box_spline
Correction to minor changes to BoxSplineTri boundary computation
2019-02-06 22:32:02 -08:00
barry
aa46fd3d6d Added UI options to examples/glFVarViewer consistent with glViewer:
- added the smooth corner, single crease and inf-sharp patch options
    - added a missing shape illustrating inf-sharp patches
2019-02-06 18:45:02 -08:00
barry
479a297bc6 Correction to recent changes to boundary weights of box-spline triangles:
- fixed corner vertex cases (two boundary edges) in both Far and Osd
2019-02-06 18:30:26 -08:00
David G Yu
f83adf942e
Merge pull request #1056 from barfowl/examples_gl
Several minor updates to the GL examples
2019-02-06 00:03:50 -08:00
Barry Fowler
7b3a471cfb
Merge pull request #1055 from davidgyu/box_spline_tri_boundary_fix
Thanks, David
2019-02-05 18:40:00 -08:00
barry
5595255858 Several minor updates to the GL examples:
- 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)
2019-02-05 17:22:10 -08:00
David G Yu
35065d3a2f
Merge pull request #1054 from barfowl/far_inf_sharp_darts
Fix cracks between triangular Gregory patches at inf-sharp darts
2019-02-05 13:17:44 -08:00
David G Yu
d468aca0a2
Merge pull request #1053 from barfowl/far_patch_is_adaptive
Fixed Far::PatchDescriptor::IsAdaptive() for legacy Gregory
2019-02-05 13:17:28 -08:00
David G Yu
abb8af32c5 Minor changes to BoxSplineTri boundary computation
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.
2019-02-05 12:57:41 -08:00
barry
b83dd92757 Fix cracks between triangular Gregory patches along inf-sharp dart edges:
- corrected regular vs irregular assignment of the quartic mid-edge point
2019-02-04 11:19:24 -08:00
barry
de29bc897f Fix Far::PatchDescriptor::IsAdaptive() for legacy Gregory patches:
- determine based on patch type ID rather than control point count
2019-02-04 11:04:26 -08:00
David G Yu
480afc0189
Merge pull request #1052 from barfowl/far_tri_ptex_adjacency
Removed triangular restriction in Far Ptex adjacency query
2019-02-03 09:52:22 -08:00
David G Yu
3ba6a1a11c
Merge pull request #1051 from barfowl/examples_headers
Enforced consistent header file inclusion in source for examples
2019-01-31 15:15:44 -08:00
barry
20dcd24b9d Updated all example source for consistent inclusion of header files:
- prepend the opensubdiv directory to all library headers included
    - removed the opensubdiv directory from all declared include paths
2019-01-31 10:49:02 -08:00
David G Yu
e4375aea9e
Merge pull request #1048 from barfowl/glsl_adaptive_tess_levels
Minor refactoring of GLSL functions to compute adaptive tess levels
2019-01-31 00:54:06 -08:00
barry
d1f601ef9b Enabled Far::PtexIndices::GetAdjacency() for triangular refinement 2019-01-30 20:55:18 -08:00
Barry Fowler
0c2f3ee884
Merge pull request #1050 from davidgyu/loop_patches_eval_limit 2019-01-30 20:27:12 -08:00
Barry Fowler
cbbfc5b64b
Merge pull request #1049 from davidgyu/glsl_gregory_tri_varying_fix 2019-01-30 20:10:11 -08:00
barry
e8fdec9f88 Made use of newer GLSL adaptive tess functions in patch shaders:
- 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
2019-01-30 10:25:04 -08:00
barry
e8859cac85 Added GLSL adaptive tess functions to reflect associated patch types:
- 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
2019-01-30 10:12:15 -08:00
David G Yu
62ae245b9a
Merge pull request #1047 from barfowl/far_adapt_refine_options
New method to determine adaptive refinement options from choices for patches
2019-01-29 09:29:46 -08:00
David G Yu
c13a6ba2e4
Merge pull request #1046 from barfowl/glsl_bezier_normal_derivs
Added normal derivatives to GLSL Bezier triangle evaluation
2019-01-29 09:29:28 -08:00
barry
673088637b Added public method to derive adaptive refinement options from patch options:
- PatchTableFactory::Options method returns TopologyRefiner::AdaptiveOptions
    - far/tutorial_6 and 9 updated to illustrate use of the new method
2019-01-28 18:02:12 -08:00
barry
73f4ab5db7 Added normal derivatives to GLSL Bezier triangle evaluation:
- added alternate intermediate calculations for normal derivatives
    - use normal derivates to resolve a degenerate normal
2019-01-28 10:20:31 -08:00
David G Yu
c37bb51736 Fixed glViewer and glStencilViewer arg parsing
- Fixed an indexing bug in command line argument processing.
- Changed glStencilViewer mesh initialization to be more consistent
with other viewers.
2019-01-25 19:40:43 -08:00
David G Yu
6ba1d9fcc2 Updated glEvalLimit viewer for Loop patches
- Removed restriction on adaptive refinement for Loop meshes
- Updated internal class used to manage eval locations for triangle patches
- Added command line options to specifiy the Scheme for .obj input files
2019-01-25 19:31:26 -08:00
David G Yu
0545056271 Fixed varying interp for gregory triangle patches
The point indices used to interpolate varying data should
be the points at the outer corners of the patch.
2019-01-25 19:15:45 -08:00
David G Yu
9487545ccd
Merge pull request #1044 from barfowl/far_quartic_gregory
Extended triangular Gregory patch to full quartic
2019-01-24 14:58:33 -08:00
barry
a0e72d80c3 Changed Gregory triangle from cubic/quartic hyrid to full quartic:
- 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
2019-01-24 12:56:09 -08:00
David G Yu
ee6097b399
Merge pull request #1043 from barfowl/glsl_quartic_bezier
Changed GLSL conversion of regular Loop patch to quartic Bezier
2019-01-22 12:37:37 -08:00
barry
7ab065a0c4 Changed GLSL conversion of regular Loop patch to quartic Bezier:
- 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
2019-01-22 09:48:19 -08:00
Barry Fowler
1c35aa435a
Merge pull request #1041 from davidgyu/loop_patches_gl_drawing
Thanks, David!
2019-01-19 14:13:12 -08:00
David G Yu
3757eb120b Updated glStencilViewer for Loop patches
Also, changed sample initialization for triangle refinement to keep sample
locations within base triangles.
2019-01-18 18:21:13 -08:00
David G Yu
06f4a60939 Updated glViewer and glFVarViewer for Loop patches
- Removed Catmark restrictions in the application code and shaders
- Added command line options to specifiy the Scheme for .obj input files
- Added support for Linear end-cap approximation
- Updated GUI labels for end-cap types, i.e. "Linear" instead of "Bilinear"
  and "Regular" instead of "BSpline".
- Added new shading color to glViewer for "Patch Depth"
- Disabled screen-space and fractional tessellation by default
2019-01-18 18:20:21 -08:00