Commit Graph

1304 Commits

Author SHA1 Message Date
Takahito Tejima
24f9dc154b Enable GregoryBasis patch.
PatchTablesFactory fills 20 indices topology into patchtable, and use it for eval and draw.

note: currently screen-space adaptive tessellation of gregory basis patches is
broken and cracks appear around them.
2015-04-08 17:07:10 -07:00
Jeremy Cowles
5415bc23b9 Merge pull request #403 from c64kernal/dev_docfixes
Dev docfixes
2015-04-08 13:50:51 -07:00
George ElKoura
eab2550300 Updating beta issues in docs. 2015-04-06 22:09:14 -07:00
George ElKoura
5ed669db07 Another handful of minor doc fixes. 2015-04-06 19:41:09 -07:00
George ElKoura
5c623775d5 Fix superscript usage in documentation for far. 2015-04-04 21:50:47 -07:00
George ElKoura
b3d734d84f Minor fixes to release notes. 2015-04-03 23:42:22 -07:00
George ElKoura
61fc019e38 Tiny doc fixes to intro and subdiv sections. 2015-04-03 18:29:10 -07:00
George ElKoura
49834d0ac7 Merge pull request #402 from c64kernal/dev
Re-enable loop tests in osd_regression.
2015-04-03 17:50:21 -07:00
George ElKoura
8766155831 Re-enable loop tests in osd_regression. 2015-04-03 17:48:27 -07:00
barfowl
ac0785620b Fixed regression comparisons between Hbr and Vtr to account for Loop:
- updated Mapper in common/cmp_utils.h to skip face-verts with Loop
    - updated vtr_regression/init_shapes.h to enable the Loop shapes
2015-04-03 16:15:34 -07:00
jcowles
13e9b43b38 Removing attempt to silence compiler warning.
This wasn't compiling on Windows and worse. Instead, we plan to disable the
warning as a compiler switch.
2015-04-02 11:11:12 -07:00
barfowl
36c86b0b68 Correction to previous commit regarding Far vertex ordering options. 2015-04-01 21:00:29 -07:00
barfowl
898d68ae79 Minor additions and revisions to TopologyRefiner interface:
- new Options for Refine() methods for base face and vertex ordering
    - removed ignored/unused "full topology" choice from AdaptiveOptions
    - added base face and vertex ordering logic to Refinement
    - addition of TopologyRefiner members for component counts and max valence
    - refactoring of Level additions to update all new member totals
    - addition of GetMaxValence() to TopologyRefiner
    - updated PatchTablesFactory to user new GetMaxValence() method
    - renaming of "Hole" methods for TopologyRefiner and Vtr::Level
2015-04-01 20:44:33 -07:00
barfowl
9222c9e169 Removed use of "full topology" flag with Far::AdaptiveOptions:
- it was always ignored as full topology is required for PatchTables
    - it will soon be removed from AdaptiveOptions entirely
2015-04-01 14:57:28 -07:00
jcowles
d758d572f7 Fix incorrect TBB path resolution order.
When two instances of TBB were present, the system installed version would take
precedence over an explicitly specified TBB_LOCATION path. This change puts
TBB_LOCATION into the HINTS section and leaves the system paths in the PATHS
section.
2015-03-31 15:09:14 -07:00
jcowles
76efdcfcf7 Fix initCL, make conditional based on CLEW
When CLEW is present, CL functions become macros which may resolve to null
function pointers. A previous change attempted to guard against CL-related
crashes, but introduced compiler warnings.

This change conditionally tests the function when CLEW is present.

Resolves: #400
2015-03-31 15:05:13 -07:00
barfowl
068ea4c7fa Face-varying fixes to support non-manifold features:
- updated original FVar inspection to deal witn non-manifold vertices
    - updated FVar refinement to handle > 2 faces per edge
    - couple of fixes to use parent topology when child not present
2015-03-31 11:50:58 -07:00
Jeremy Cowles
28e39bf86f Enable osd_regression and suppress warnings. 2015-03-30 22:18:18 -07:00
Jeremy Cowles
e8a7684d8d Merge pull request #399 from c64kernal/dev
osd_regression test ported over to new API and small bug fix in vtr
2015-03-30 22:04:34 -07:00
George ElKoura
d38d683d0a Make sure to update the _maxEdgeFaces in the child from the parent
level before we do any further population from the parent as that may
further modify the child's _maxEdgeFaces.  When _maxEdgeFaces is incorrect
we may end up with stack corruption problems when
Far::TopologyRefiner::interpolateChildVertsFromEdges() goes to use this data
to allocate some stack space.
2015-03-30 18:49:26 -07:00
George ElKoura
da9c8a83dc Make sure to double check that we have properly bound the OpenCL API
before using it.
2015-03-29 17:06:24 -07:00
George ElKoura
e9b34b596c CL backend now compiles. 2015-03-29 02:07:00 -07:00
George ElKoura
e06debc4e8 Many more fix-ups to the osd_regression tests:
- CPU, CPUGL backends both updated
 - CL backend still needs work
 - Loop subdivision tests disabled because they don't work
 - Hedit tests disbaled because they don't work
2015-03-29 01:27:20 -07:00
C64Kernal
38b079d4ea Compilation fixes for gcc. 2015-03-28 23:53:12 -07:00
C64Kernal
e9c6073e86 Compilation fixes for gcc. 2015-03-28 23:50:54 -07:00
George Elkoura
9d22e8bdda Make sure to include <string> before we use it in clInit.h 2015-03-28 23:44:10 -07:00
George ElKoura
f53964ead1 osd_regression regression now compiles. There was a first attempt at
getting the CPU backend converted.  Still not ready for prime-time by a long
shot.
2015-03-28 11:18:00 -07:00
George ElKoura
06a05673da Refactored several testing utility functions into hbr_utils and vtr_utils where appropriate. Other tests will need to make use of these in the future.
Added cmp_utils as a place to put common testing utilities for comparing the results of hbr meshes vs. far/vtr results.
2015-03-28 11:13:53 -07:00
barfowl
72e2f8eb2b Added support for patches around non-manifold features:
- regular patches now generated for faces with non-manifold vertices
    - non-manifold features treated as boundary edges and vertices
    - other minor cleanup/improvement in patch identification method
    - commented on approx of smooth x-ordinary corner with regular sharp patch
2015-03-26 10:42:32 -07:00
barfowl
7ebb04bdcb Fixed bugs arising from degenerate edges and triangles:
- avoid repeated edges within the same face on construction
    - corrected degenerate edge detection in tri-split refinement
2015-03-24 17:37:37 -07:00
Jeremy Cowles
369d3861de Merge pull request #398 from c64kernal/dev
Updated usage line for stringify.
2015-03-24 09:45:50 -07:00
George ElKoura
9461201b52 Updated usage line for stringify. 2015-03-23 23:53:12 -07:00
barfowl
e583b80271 Completed support for non-manifold topology (degenerate, reversed edges, etc.):
- added edge-face local-indices to Vtr::Level members
    - added internal and public access to edge-face local-indices
    - updated refinement methods to use and populate edge-face local-indices
    - updated refinement methods to be sensitive to degenerate edges
    - added Vtr::VALENCE_LIMIT constant for internal use
    - updated Vtr::Level topology completion to fail on valence overflow
    - simplfied non-manifold edge handling in Vtr::Level topology completion
    - updated warnings for all topology construction failures
    - added detection and warning when passing non-triangles for Loop
2015-03-15 20:22:00 -07:00
jcowles
9529bf45bf Remove internal URL from topologyRefiner header 2015-03-13 23:46:22 -07:00
jcowles
cc5a9e891c Fixed more array indexing issues in examples/tutorials 2015-03-12 12:32:30 -07:00
jcowles
aba0ef9692 Fix array index typos in tutorials 2015-03-12 11:14:23 -07:00
barfowl
9a41cf59c4 Minor revisions to recent promotion regarding smooth UV's in Far:
- changed return type of Vtr array empty() to bool
    - renamed and adjusted arguments to Vtr gather methods for consistency
    - removed lone Vtr gather method that took an explicit offset
    - updated usage of revised Vtr gather methods in Far
    - fixed warnings redeclaring names of local variables already in use
2015-03-05 13:09:27 -08:00
manuelk
2697c31eed Add WIP downloads / EULA documentation page 2015-02-27 16:09:17 -08:00
manuelk
9e25b193ff Fix Win build 2015-02-27 15:52:12 -08:00
manuelk
d0a624f373 Add "smooth UVs" to Far
- extend Far::PatchTables data structures & interfaces to store requisite
  information for channels of face-varying bi-cubic patches
- implement gather function in Far::PatchTablesFactory to populate face-varying
  channels with adaptive patches
- extend accessor interface in Vtr::Level
- propagate code fall-out throughout OpenSubdiv code base, examples & tutorials
- extend vtrViewer code to visualize tessellated bi-cubic face-varying patches
2015-02-26 13:57:47 -08:00
barfowl
4ced1b1461 Revised Level::VTags for semi-sharpness and added corner tag:
- added new tag for sharp corner, now used in isolation
    - split single semi-sharp tag in two for vertex and edge sharpness
    - updated tag propagation and all tests of previous semi-sharp tag
    - added clear() methods for all tags and simplified initialization
2015-02-25 20:02:10 -08:00
Nicholas Bishop
3c88851cf6 Fix typo: "buf" -> "bug" 2015-02-25 18:03:41 -08:00
barfowl
6cb77507ec Fixed isolation bug with FVar data -- avoid false match with a regular patch. 2015-02-25 17:35:48 -08:00
barfowl
2213d86a59 Fixed bug retrieving and merging tags for FVar values:
- added Vtr::FVarLevel method to resolve correct index in level 0 case
    - updated tag retrieval methods that used face-value array as input
    - changed signatures to accept face-verts when needed and updated usage
2015-02-25 11:02:53 -08:00
barfowl
588c3060b3 Added Vtr::FVarLevel method to merge FVar edge tags with Vtr::Level::Etags 2015-02-17 14:16:35 -08:00
David G Yu
cc6a89b373 Fixed vtrViewer build errors on OS X. 2015-02-16 23:09:51 -08:00
manuelk
35c927209e Improving ICC CMake hints
fixes #396
2015-02-12 10:57:04 -08:00
barfowl
7152b1b1bf More support for feature-adaptive consideration of face-varying topology:
- added methods to FVarLevel to combine FVar tags with vertex tags
    - use composite of combined tag to find FVar features needing isolation
    - added more tagging related to the "linear borders" interpolation case
2015-02-11 20:51:00 -08:00
manuelk
b1933194aa Fix data race on static global variable in Far::PatchDescriptor
- statically initialize valid patch descriptor tables
- return a Vtr::Array instead of std::vector
- fix dependencies in Far::PatchTables

fixes #394
2015-02-11 14:25:44 -08:00
rosario
edd1b6a906 Removing cos()/sin() ambiguity 2015-02-11 11:01:57 -08:00