Commit Graph

2499 Commits

Author SHA1 Message Date
barry
5e8e123d73 Major refactor of the construction of Far::PatchTable:
- new PatchTableBuilder class now implements PatchTableFactory::Create()
        - population of tables now independent of scheme or patch type
        - nested LocalPointHelper handles local point sharing and stencils
    - new PatchBuilder class encapsulates patch queries and conversions:
        - provides patch types associated with schemes and client options
        - handles all topological queries about patches in the base class
        - subclasses for the three subdivision schemes to support conversions
        - conversions encapsulated in new SparseMatrix class for re-use
    - removed Far end-cap factory classes and Far::GregoryBasis
    - extended adaptive refinement to support Bilinear scheme (not enabled)
    - extended Vtr::StackBuffer to avoid compiler inefficiencies
2018-05-08 17:24:14 -07:00
David G Yu
6b22e10875 Merge branch 'rc/v3_3_1' 2018-02-13 16:24:18 -08:00
David G Yu
171629fbd8 Release 3.3.1 2018-02-07 15:09:46 -08:00
barfowl
c8d6059367
Merge pull request #963 from davidgyu/fix_triangle_patch_param
Fixed computation of PatchParam for tri refinement
2018-02-06 17:15:02 -08:00
David G Yu
fe47db273c Fixed computation of PatchParam for tri refinement
Previously, Far::PatchTableFactory::computePatchParam() was
considering all faces with a face vertex count != 4 as
irregular.  This was incorrect for triangle refinement as
was the calculation of the UV subface parametric offsets for
triangle subfaces.

This is foundational work for implementing full support
for Loop scheme patch tables. This fix also allows correct
decoding of the parameter mapping for triangles resulting
from uniform refinement of Loop scheme meshes.
2018-02-06 16:51:17 -08:00
barfowl
9c9108c3db
Merge pull request #959 from davidgyu/hlsl_patch_normals
Thanks David
2018-01-16 15:31:33 -08:00
barfowl
dcd82f4137
Merge pull request #960 from davidgyu/mtl_patch_normals
Metal patch shader changes for degenerate normals
2018-01-16 15:31:11 -08:00
David G Yu
dc4948fa75
Merge pull request #957 from barfowl/reserve_overflow_bugs
Fixed integer overflow bugs for large meshes in PatchTable factories
2017-12-15 14:59:47 -08:00
David G Yu
226f1a27fd
Merge pull request #948 from barfowl/glsl_patch_normals
Improved GLSL patch shaders to compute normals in common degenerate cases
2017-12-12 08:50:30 -08:00
David G Yu
6e02082bd7 Metal patch shader changes for degenerate normals
Updated Metal patch shaders to resolve degenerate normals.
This fix was ported from the GLSL patch shader source.

Also, added missing inf sharp test cases to mtlViewer.
2017-12-12 08:46:00 -08:00
David G Yu
917fc36dde HLSL patch shader changes for degenerate normals
Updated HLSL patch shaders to resolve degenerate normals.
This fix was ported from the GLSL patch shader source.

Also, added missing inf sharp test cases to dxViewer.
2017-11-21 18:01:57 -08:00
barry
1b03b1ef09 Fixed integer overflow bugs for large meshes in PatchTable factories 2017-11-20 16:09:40 -08:00
David G Yu
3e2f76e6dd Merge pull request #950 from barfowl/uniform_fvar_patch_bugs
More fixes for face-varying patches in uniform PatchTables
2017-09-25 10:45:19 -07:00
barfowl
0ecaed2021 Merge pull request #951 from davidgyu/glimaging_test_stability
Great, thanks for taking time out to look into this.
2017-09-25 09:35:32 -07:00
David G Yu
bb227dbd36 Disabled GL tests during CI runs on Linux
The glImaging test continues to have inconsistent
pass/fail state during Travis CI runs on Linux.
Disabling this test while we investigate ways to
improve stability.
2017-09-25 08:46:17 -07:00
David G Yu
2ce82af257 Improved stability of examples/glImaging
The glImaging test now checks the GL version of the
current context before attempting to run GL XFB or
GLSL Compute kernels.

This example can run as part of the ctest suite during
continuous integration testing and adding these checks
should improve consistency of runs across different
test conditions.
2017-09-25 03:37:36 -07:00
barry
d31c913532 Fixed a few more minor issues with face-varying patches in uniform PatchTables:
- corrected assertion to use face-varying index offset instead of vertex
    - added missing face-varying conditional when generateAllLevels set
    - factored base-level index offsets into local options for clarity
    - added Doxygen comments to describe overall indexing behavior
2017-09-22 15:43:16 -07:00
David G Yu
ece6a64db3 Merge pull request #946 from barfowl/uniform_fvar_patch_bug
Fixed bug in face-varying patches of uniformly refined Far::PatchTable
2017-09-13 13:54:38 -07:00
barry
0c2dd830b0 Updated GLSL patch shaders to resolve degenerate normals:
- modified Gregory patch shader to use existing Bezier patch evaluation
    - rewrote Bezier patch evaluation to use intermediate bilinear points
    - added detection and resolution of degenerate normal
    - eval normal partials no longer uses Weingarten eqns (requires N != 0)
    - updated normal partials to use differentiation/projection
2017-09-13 11:03:03 -07:00
barry
d376944dd1 Fixed bug in face-varying patches of uniformly refined Far::PatchTable:
- added missing initialization of face-varying PatchParams
2017-09-13 10:50:58 -07:00
George ElKoura
161556b9eb Merge pull request #945 from davidgyu/dev_build_options
Added build options: NO_GLFW NO_GLFW_X11
2017-08-18 12:43:52 -07:00
David G Yu
05686fba51 Merge branch 'rc/v3_3_0' 2017-08-01 12:35:33 -07:00
David G Yu
3e640239f7 Added build options: NO_GLFW NO_GLFW_X11 2017-07-28 11:28:07 -07:00
David G Yu
195111a8e1 Release 3.3.0 2017-07-25 13:58:09 -07:00
George ElKoura
c6a527b02c Merge pull request #944 from davidgyu/dev_metal_fix_deriv_option
Fixed a typo in MTLPatchShaderSource
2017-07-25 13:39:28 -07:00
David G Yu
58d867feea Fixed a typo in MTLPatchShaderSource
This fixes a shader compile error when enabling
the OPENSUBDIV_GREGORY_EVAL_TRUE_DERIVATIVES option.
2017-07-25 12:15:31 -07:00
George ElKoura
a65c7aca61 Merge pull request #943 from davidgyu/dev_metal_eval_fix
Fixed MtlComputeEvaluator docs and overloads
2017-07-18 13:13:11 -07:00
David G Yu
2bcdedf0cc Fixed MtlComputeEvaluator docs and overloads
Updated MtlComputeEvaluator documentation to be
consistent with the documentation for other compute
evaluator implementations and fixed missing or
incorrect doxygen tags.

Also, updated the overloads for the EvalStencils
and EvalPatches methods to account for 1st and
2nd derivative evaluation.
2017-07-17 18:12:49 -07:00
George ElKoura
103770189e Merge pull request #941 from davidgyu/dev_metal_ptex_fix
Fixed mtlPtexViewer build
2017-07-13 18:35:07 -07:00
George ElKoura
56317a91bf Merge pull request #942 from davidgyu/dev_metal_fvar_fix
Fixed mtlViewer face-varying evaluation
2017-07-13 18:34:23 -07:00
George ElKoura
9044e6dbc0 Merge pull request #940 from davidgyu/dev_tos
Updated doc template to link to terms of use
2017-07-13 18:33:29 -07:00
David G Yu
1adfda5d79 Fixed mtlViewer face-varying evaluation
Updated the mtlViewer to compute correct offsets
for face-varying param and index buffers when using
the Gregory Basis end cap approximation.
2017-07-13 17:22:16 -07:00
David G Yu
938d7ca1fa Updated doc template to link to terms of use 2017-07-13 17:18:42 -07:00
David G Yu
661fd1f948 Fixed mtlPtexViewer build
Updated mtlPtexViewer to account for recent
API changes to Osd::MTLPatchShaderSource and
also fixed a build error when building with
the use of PtexCache disabled.
2017-07-12 15:17:18 -07:00
David G Yu
b3508ed657 Merge pull request #939 from c64kernal/dev_t
Several improvements to CI building and testing
2017-07-05 09:18:56 -07:00
George ElKoura
4383d2b5ac Several improvements to CI building and testing
- Added support for OSX CI builds and tests
- Cleaned up build scripts and moved to $ROOT/build_scripts
- On Linux: moved to trusty distro
- On Linux: enabled OpenMP, TBB and PTex build options
- On Linux: install and setup xvfb with newer mesa drivers to run our GL tests
- On Linux: enable GL tests
2017-06-30 12:52:01 -07:00
David G Yu
fde91b4a42 Merge pull request #936 from NickBMarine/metalFvarExample
Added fvar support for metal as well as a ui for fvar.
2017-06-09 17:57:26 -07:00
Nicholas Blasingame
bdca520459 Added fvar support for metla as well as a ui for fvar. 2017-06-05 15:06:47 -07:00
David G Yu
8e426be369 Merge pull request #932 from barfowl/wshadow_far
Removed shadowing warnings from source for core libraries
2017-04-20 22:39:34 -07:00
barry
e651027beb Changes to eliminate shadowing warnings in core libraries:
- renamed shadowing variables and arguments in Far factory classes
2017-04-19 18:48:15 -07:00
George ElKoura
7d980bf952 Merge pull request #931 from davidgyu/dev_mtl_fix
Removed duplicate mtlVertexBuffer build config
2017-04-19 18:05:56 -07:00
David G Yu
dc950cf5fb Removed duplicate mtlVertexBuffer build config 2017-04-19 17:25:23 -07:00
Michael Harris
30cd2df37c Added Metal support 2017-04-19 16:49:53 -07:00
David G Yu
023a2b8649 Merge branch 'release/v3_2_0' into dev 2017-01-31 13:47:58 -08:00
David G Yu
a00df9344c Merge branch 'release/v3_2_0' 2017-01-31 13:45:44 -08:00
David G Yu
62e1a62842 Release 3.2.0 2017-01-31 13:43:21 -08:00
Takahito Tejima
a9dfea5bb8 Merge pull request #929 from davidgyu/dev_osd_eval_fixes
Fixed Cpu Omp and GLXFB EvalStencils w/ deriv
2017-01-31 10:59:55 -08:00
David G Yu
a725188081 Fixed Cpu Omp and GLXFB EvalStencils w/ deriv
Fixed a few bugs uncovered during testing.
2017-01-31 10:23:55 -08:00
Takahito Tejima
73cc2d3e3c Merge pull request #928 from davidgyu/dev_xfb_interleaved
Improved XFB Evaluation of 1st and 2nd derivatives
2017-01-30 16:20:15 -08:00
David G Yu
a95e23e980 Updated glEvalLimit to use shared XFB buffers 2017-01-30 12:12:04 -08:00