Commit Graph

208 Commits

Author SHA1 Message Date
David G Yu
28f2574bc5 Moved GLEW dependencies to glLoader wrapper
This introduces an internal glLoader library which allows
most of the implementation to be agnostic about the
implementation of the GL loading library.  Specifically,
this removes references to the GLEW headers and libraries
from the rest of the source code and build system.
2020-03-03 17:10:30 -08:00
David G Yu
b738fa1225 Removed a couple build advisory messages
This simplifies the build by restricting build
configuration commentary messages to the top-level
CMakeLists.txt instead of in leaf directories.
2020-03-03 15:03:41 -08:00
George ElKoura
8c86d81c2a
Merge pull request #1172 from davidgyu/dev_warnings_fix
Fixed warnings in examples and regression/common
2020-01-15 16:11:04 -08:00
David G Yu
f3ede96017 Fixed warnings in examples and regression/common 2020-01-15 12:52:17 -08:00
barry
eb48e4cfba Updated hbr_regression/baseline results for changes to test shapes:
- updated the Catmark edge-only and edge-corner cases
    - updated the Loop edge-only and edge-corner cases
2020-01-13 18:08:35 -08:00
barry
eae467047b Revised existing boundary interpolation example shapes for consistency:
- all include the planar reference from documentation figures
    - all include the single polygon case (quad or tri)
    - all edge-only cases include semi-sharp boundary vertices
2020-01-10 14:24:29 -08:00
barry
e088b3aa8b Added new example shapes for boundary interpolation option "none" 2020-01-10 14:23:11 -08:00
barry
936aff0b8a Moved ArgOptions from examples/common to regression/common:
- updated CMakeLists to account for the moved files
    - updated references to argOptions.h in all examples
    - added method to ArgOptions to populate vector<ShapeDesc>
    - minor changes to ViewerArgUtils to use forward references
2019-12-14 12:06:55 -08:00
George ElKoura
92341f7c1e Prefix OpenSubdiv CMake macros
This fixes issue #1157 by adding "osd" as a prefix to public macros.
2019-08-17 16:44:30 -07:00
David G Yu
92a5d73913
Merge pull request #1125 from barfowl/regression_far_perf
Improvements to far_perf output and options
2019-06-17 18:13:23 -07:00
barry
5fc51d87ca Improved flexibility and output for regression/far_perf:
- fixed memory leaks and added asserts and errors for bad input data
    - restructured the CSV output to a line per test and renamed flag to -csv
    - added options -nopatches, -nostencils and -total options to reduce output
2019-06-17 09:19:38 -07:00
David G Yu
db9c01e7e0
Merge pull request #1124 from barfowl/examples_loop_tet
Added simple tetrahedron to set of Loop test shapes
2019-06-14 17:37:32 -07:00
barry
e8dcef6760 Added Loop tetrahedron to regression/shapes:
- added Loop tetrahedron shape with two UV sets
    - added the new shape to all.h
2019-06-14 15:20:29 -07:00
barry
3ea2f4caac Rotated faces in shapes for extra-ordinary vertices for better test coverage:
- rotated faces to place extra-ordinary vertex at each corner
    - updated both Catmark and Loop shapes for both boundary and interior
2019-06-14 11:32:59 -07:00
David G Yu
e7cfe1188d Updated far_perf output and options
Added a -spreadsheet option to far_perf which outputs
result data as comma separated values (CSV) which can
be imported directly into spreadsheet applications for
further analysis and charting.

Also, updated the other far_perf options to be more consistent
with the other tutorials and examples, e.g. when specifying
scheme types, refinement options, etc.
2019-06-10 15:10:54 -07:00
barry
079b1a9760 Added tetrahedron shape use in docmentation images and logo:
- added Catmark and Loop versions of the toroidal tetrahedron shape
    - update shapes/all.h with the additions
2019-05-31 16:05:13 -07:00
barry
07b4ecc1cc Added new regression shapes for non-manifold edges with many incident faces:
- added simple shapes for both Catmark and Loop
    - included per-vertex UVs, which triggered issues with FVar StencilTables
2019-05-16 14:47:01 -07:00
David G Yu
7eac369fd2
Merge pull request #1106 from barfowl/regression_shapes_indexing
Fixed indexing errors in old regression/shapes
2019-05-15 14:38:36 -07:00
barry
669e54a9f7 Fixed indexing errors in old regression/shapes:
- 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
2019-05-15 13:45:33 -07:00
barry
89f00d3603 Added face-varying UVs to several regression shapes:
- added UVs to non-manifold shape sets for both Catmark and Loop
    - added UVs to the semi-sharp and inf-sharp variations of Catmark cubes
2019-05-14 15:22:33 -07:00
David G Yu
a7a3fd6ecb
Merge pull request #1103 from barfowl/regression_shapes_orient
Transformed old regression/shapes into consistent orientation
2019-05-10 10:30:32 -07:00
barry
b2e788efa7 Updated hbr_regression for recent and past changes to shapes:
- uncommented past shapes that had changed and caused failures
    - update baseline data for all recent and past changes
2019-05-08 14:12:36 -07:00
barry
a42d00a191 Transformed several regression/shapes into a more consistent orientation 2019-05-08 14:07:44 -07:00
barry
c75be00094 Revised a couple of Loop shapes to match recent Catmark additions:
- reduced the xord_boundary case from none to four shapes
    - re-ordered the first two shapes in the nonman_edges case
2019-05-08 13:12:04 -07:00
barry
33ff2ec2f5 Added new Catmark shapes:
- 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
2019-05-08 13:10:33 -07:00
barry
afce970bcf Added new Catmark test shapes to regression/shapes:
- 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
2019-05-06 12:13:45 -07:00
barry
8cc30d4f0d Added new regression/shapes for Loop meshes with non-manifold topology:
- added two new sets of shapes exhibiting non-manifold vertices and edges
    - updated regression/shapes/all.h for inclusion by clients
2019-05-02 15:28:15 -07:00
barry
b7470bb26f Moved definition of struct ShapeDesc into same header file as Shape:
- 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()
2019-04-23 12:05:14 -07:00
barry
3c9673c447 Added more regression/shapes for Loop and updated a couple others:
- updated the edge-only and edge-corner shapes consistent with Catmark
    - moved the existing triangulated cube to loop_cube_asymmetric
    - added new loop_cube with symmetric triangulation and limit surface
    - added semi-sharp and inf-sharp variations of cube and icosahedron
    - added shapes with extra-ordinary interior and boundary vertices
    - added shapes with face-varying features similar to Catmark
2019-01-07 15:54:37 -08:00
barry
42a0be5cb9 Patches and regression shapes for Bilinear scheme:
- Bilinear patches derived from non-quads now correctly created
    - added new regression/shapes for Bilinear (non-planar and non-quad)
2018-12-21 12:35:31 -08:00
barry
e494738e88 Disabled boundary isolation requirement for quads in adaptive refinement:
- turned off internal quad boundary isolation option in adaptive refinement
    - added regression/shape to verify support for multiple boundary features
2018-11-19 10:56:21 -08:00
barry
5c2191f89c Added more common utilities to support Shapes with non-Catmark schemes:
- added conversions Shape and Sdc scheme types
    - extended ObjAnim to take a scheme type on construction
    - updated far/tutorial_9 to make use of new functionality
2018-10-19 13:05:23 -07:00
barry
c424594625 Major step towards consistent use of include paths in source files:
- changed the main OPENSUBDIV_INCLUDE_DIR to exclude ./opensubdiv
    - updated CMakeLists.txt files in non-examples to use only this path
    - updated CMakeLists.txt files in examples to append ./opensubdiv to path
    - updated source in regression/common to use #include <opensubdiv/...>
    - updated source in examples/common to use #include <opensubdiv/...>
    - deferred source in examples to be updated on a case-by-case basis
2018-10-09 10:51:31 -07:00
barry
3b484997a1 Modified a couple of examples for testing multi-precision support:
- regression/far_perf - can run single/double from command line
    - tutorials/far/tutorial_6 - change typedef to run as single/double
2018-07-28 15:06:32 -07:00
Sergey Sharybin
d1396e5581 Fix buffer underflow when reading OBJ data
It is possible to have an empty line at the end of data,
that would cause access to line element -1 when stripping
trailing newline,
2018-07-14 15:53:23 +02:00
barry
52fc746bb2 Updated UVs of catmark_torus shape with new topology:
- assigned more regular UVs that don't require adaptive refinement
2018-07-03 12:07:24 -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
barry
7b2a0b239d minor improvements to examples/glFVarViewer:
- added detection of shapes without UVs and report fatal error
    - fixed command line parsing of shape file arguments and other options
    - added missing UVs from shapes/catmark_fan
2017-01-27 14:22:54 -08:00
Mike Erwin
bd3113e7e3 spelling phase 4 -- examples, tutorials, regression tests
Read all comments and made corrections to files that aren't part of
OpenSubdiv itself but are packaged with it.

Commandline output of glPtexViewer is affected. Otherwise no functional
changes.
2017-01-24 22:48:48 -08:00
barry
796a2f40a7 Fixed bug with non-manifold face-varying topology causing crash:
- corrected the regular patch assembly in Far::PatchTableFactory
    - updated regression shapes to include the problematic topology
2016-12-15 12:33:36 -08:00
barry
e21b4d902f Added a few more test shapes for face-varying and inf-sharp patches:
- added new shapes to regression/shapes
    - updated shapes/all.h to include them
    - updated init_shapes.h for glViewer and glFVarViewer
2016-10-13 19:59:38 -07:00
barry
154f29c7fe Fixed adaptive refinement of sharp corners with edge-only boundaries
- updated base level tagging to ignore the boundary interpolation option
    - updated regression shape for edge-only to illustrate behavior
    - updated regression shapes to favor default viewng direction of examples
2016-10-12 11:42:37 -07:00
Dave Clyde
61d0c66531 Merge current github/dev into pull request 760 2016-07-16 20:52:54 -07:00
Thomas Thomassen
72610a3043 Glean up GLEW and GLFW. 2016-06-25 10:29:59 +02:00
Thomas Thomassen
aa0599b4bc Merge branch 'dev'
Conflicts:
	opensubdiv/far/patchTableFactory.cpp
2016-06-24 23:30:44 +02:00
George ElKoura
923d60ca74 Use cmake's folder feature on platforms that support it.
We now make use of folders where they are supported.  In particular, on Visual Studio, this produces much nicer solutions to navigate.
2016-06-09 17:04:26 -07:00
barfowl
f00d69ae55 Improvements to far_regression:
- overloaded utilities in regression/common to take existing Shape
    - updated init_shapes.h to include all from regression/shapes
    - all Shapes now created and refined regardless of content
    - only "Hbr compatible" Shapes compared to Hbr, else print warning
2016-04-04 19:49:27 -07:00
Thomas Thomassen
c422a79031 Rename and, or and not to &&, || and ! to address compilers that don't support them out of the box without extra headers. 2016-02-21 15:47:11 +01:00
Dave Clyde
c095f48d65 Comment typos / whitespace. 2015-11-16 14:39:58 -08:00
Takahito Tejima
c1da218b54 add a far performance test 2015-09-16 15:27:26 -07:00